´Á¥½¦Ò¤Î¸Ñµª

°ÝµªÃD 100 ¢H

³¬®Ñ¦Ò ¦@12ÃD ½Ð¥Îµª®×¯È§@µª

1.¸Õ§¹¦¨¦p¤U¤§²Õ¦X»y¨¥µ{¦¡¡M¦¹µ{¦¡¥i¦bø¹Ï¼Ò¦¡¤¤¨q¥X¦UºØÃC¦â¤§ª½±ø¹Ï§Î,¦p¤U¹Ï¡Mª½½u¤§°_©l¦ì¸m¤Îªø«×¡N¼e«×¥i³]©w¡C§A¥iª½±µ§Q¥Î¥¼§¹¦¨¤§²Õ¦X»y¨¥µ{¦¡¨Ó¶ñ¤J(µê½u¤º©Ò¯Ê¤§¤º®e), ¨Ã¼g©óµª®×¯È¤W,¤w§¹¦¨¤§²Õ¦X»y¨¥µ{¦¡¤£¶·¦A¼g¡C§A¥ç¥i­«¼g¦¹µ{¦¡¡C20%

¤w§¹¦¨¤§²Õ¦X»y¨¥µ{¦¡¤§¤º®e¦p¤U:

TITLE ø¹Ï

.MODEL SMALL

EXTRN puts:near,indec:near,outdec:near,newline:near

includelib ios.lib

.STACK 100h

.DATA

msg1 DB 'please input original x-coordinate: ',0

msg2 DB 'please input original y-coordinate:',0

msg3 DB 'please input column no.: ',0

msg4 DB 'please input row no.: ',0

msg5 DB 'please press any key to continue: ',0

num1 DW 0

num2 DW 0

num3 DW 0

num4 DW 0

.CODE

begin:

mov ax,@data ; ¢{ds ªì­È¤Æ

mov ds,ax ; ¢}

mov si,OFFSET msg1 ; ¢{¦L¥X´£¥Ü¦r¦ê

call puts ; ¢}

call indec ; ¿é¤J¤@­ÓµL¸¹¼Æ­È

call newline

MOV num1,ax ;

mov si,OFFSET msg2 ; ¢{¦L¥X´£¥Ü¦r¦ê

call puts ; ¢}

call indec ; ¿é¤J¤@­ÓµL¸¹¼Æ­È

call newline

MOV num2,ax ;

mov si,OFFSET msg3 ; ¢{¦L¥X´£¥Ü¦r¦ê

call puts ; ¢}

call indec ; ¿é¤J¤@­ÓµL¸¹¼Æ­È

call newline

MOV num3,ax ;

mov si,OFFSET msg4 ; ¢{¦L¥X´£¥Ü¦r¦ê

call puts ; ¢}

call indec ; ¿é¤J¤@­ÓµL¸¹¼Æ­È

call newline

MOV num4,ax ;

PUSH DS

MOV AX,0

PUSH AX

;

MOV AH,0 ;SET GRAPHIC MODE

MOV AL,12H ;FOR VGA CARD

INT 10H ;640X480X16colors

;

MOV BL,0 ;SET INITIAL COLOR

MOV CX,num1 ;COLUMN#

MOV DX,num2 ;ROW#

AGAIN:

MOV AH,0CH ;WRITE PIXEL DOT

MOV AL,BL ;SET COLOR

INT 10H

;---------------------------------------------------------------------------------



;-----------------------------------------------------------------------------------

JB AGAIN ;NO -- LOOP

mov si,OFFSET msg5 ; ¢{¦L¦r¦êoutmsg5

call puts ; ¢}

call newline

mov ah,01h ;

int 21h

MOV AH,00h ;SET TEXT MODE

MOV AL,03h ;FOR VGA CARD

INT 10H

mov ah,4ch ; ¢{µ²§ôµ{¦¡

int 21h ; ¢}

END begin

Ans:

INC CX ;INCREMENT COLUMN

CMP CX,num3 ;COLUMN

JB AGAIN ;NO -- LOOP

MOV CX,num1 ;YES - RESET COLUMN

INC BL ;CHANGE COLOR

AND BL,0FH ;LET COLOR WITHIN 0 -- 15

INC DX ;INCREMENT ROW

CMP DX,num4 ;ROW

2.¸Õ¼g¤@µ{¦¡(¥]¬AC»y¨¥µ{¦¡»P²Õ¦X»y¨¥¨ç¦¡)¯à¥HC»y¨¥µ{¦¡©I¥s²Õ¦X»y¨¥¨ç¦¡,¥O³â¥zµo­µ, µ{¦¡°õ¦æ«á³â¥z§Y¶}©lµo­µ,«ö¤@«öÁä«á°±¤î,²Õ¦X»y¨¥¨ç¦¡¬°³â¥zµo­µ¤Î°±¤îµo­µ¤§¥\¯à¡C

(µù: ³â¥zµo­µ

mov al,0ffh

out 61h,al

³â¥z°±¤îµo­µ

mov al,0h

out 61h,al )

20%

3.¦³¤@24 24¤¤¤å¦r§ÎÀÉ, ¨ä¦r½X¬°A451 ,¨ä¤º®e¦p¤U

00000000: 00 10 00 00 1C 00 00 18 - 00 00 18 00 00 18 00 00 ................

00000010: 18 00 00 18 00 00 18 00 - 00 18 04 00 18 0E FF FF ................

00000020: FF 00 18 00 00 18 00 00 - 18 00 00 18 00 00 18 00 ................

00000030: 00 18 00 00 18 00 00 18 - 00 00 18 00 00 18 00 00 ................

00000040: 18 00 00 18 00 00 10 00 - ........

½Ð°Ý¸ÓÀɮצ³´X­Óbytes

Ans:72 bytes

4.©Ó¤WÃD¡M½Ð°Ý¸ÓÀɮ׬°­þ¤@­Ó¦r?

Ans:¤Q

5.·í¥¨¶°(macro)¤¤§t¦³¼Ð°O(label)®É, ­Y¥Dµ{¦¡¨Ï¥Î¦¹¥¨¶°¦h¦¸, «h¼Ð°O·|¦h¦¸¥X²{©ó¥Dµ{¦¡¤¤, µ{¦¡²ÕĶ®É±N·|¥X²{°ÝÃD, ¦¹®É¥¨¶°¤¤©Ò§t¤§¼Ð°OÀ³·í§@¦óºØ«Å§i? ¥H§Kµ{¦¡²ÕĶ®É²£¥Í¼Ð°O­«½Æ¤§¿ù»~¡C

Ans: «Å§i¬°local

6. ¦³¤@¤º§t²Õ¦X»y¨¥«ü¥O¤§C»y¨¥µ{¦¡¦p¤U:

#include <stdio.h>

#include <dos.h>

void main(void)

{

int i=12,k=5;

asm mov ax,i;

asm sub ax,k;

asm mov k,ax;

printf("%d",k);

}

½Ð°Ý¦¹µ{¦¡°õ¦æ«á·|¦b¿Ã¹õ¤WÅã¥Ü¦óºØµ²ªG?

Ans:7

7.½Ð±N¦¹µ{¦¡§ï¼g¬°¨Ï¥Î«O¯d¦r _AX,_BX,…….ªº¤º§t²Õ¦X»y¨¥«ü¥O§Î¦¡¤§C»y¨¥µ{¦¡?

8.¤@­Ó²Õ¦X»y¨¥µ{¦¡¤¤ .MODEL©MEND¤§¶¡.STACK¡N.CODE¡N.DATA¦U­Ó¸`¬q«Ø¥ß¤§±Æ¦C¶¶§Ç¥i¥H¦³¨º´XºØ¦w±Æ?

9.¦³¤@C»y¨¥µ{¦¡«ü¥O¦p¤U:

outportb(0x30B,0x38);

¸Õ¼g¥X¨ä¬Û¹ïÀ³¤§²Õ¦X»y¨¥µ{¦¡

Ans:

MOV DX, 30BH

MOV AL,38H

OUT DX,AL

10. ¦³¤@C»y¨¥µ{¦¡«ü¥O¦p¤U:

a=inportb(0x300)

¸Õ¼g¥X¨ä¬Û¹ïÀ³¤§²Õ¦X»y¨¥µ{¦¡

Ans:

MOV DX,300h

IN AL,DX

11. ²Õ¦X»y¨¥µ{¦¡¤¤¶}±ÒÀɮרÃŪ¨úÀɮפº®e¤§¸ê®Æ¡A¦³FCB»PFile Handle¨âºØ§@ªk, ¸Õ°Q½×¤§¡C

12. ¥HC»y¨¥µ{¦¡©I¥s²Õ¦X»y¨¥¨ç¦¡®É,­Y­n±N¤Þ¼Æ­È¶Ç¤J²Õ¦X»y¨¥¨ç¦¡¤¤,«h¨ä¨ãÅé§@ªk¬°¦ó?¸Õ´Nªñµ{¡]NEAR¡^¤Î»·µ{¡]FAR¡^©I¥s¨âºØ¨Ó°Q½×¡C