1 、 答: 二者不同点是功能 1 输入字符可回显,功能 8 输入字符不回显。 2 、答: dseg segment scode db 7,5,9,1,3,6,8,0,2,4 buffer db 10 dup (?) dseg ends ;-------------------------------------------------------------------- cseg segment main proc far mov ax,dseg mov ds,ax mov si,0 mov cx,10 lea bx,scode input: mov ah,01 ; 键盘输入 int 21h and al,0fh ; ASCII → 数字 xlat ; 换码 mov buffer[si],al ; 存入缓冲区 inc si ; 修改地址指针 loop input ; 输入下一个数字 mov ax,4c00h ; 返回 DOS int 21h main endp cseg ends end main 3 、答: (( 24 行 ×80 ) +40 列) ×2 = 3920 = 0F50H 4 、答: mov dh, 0ch ; 第 12 行 mov dl, 08h ; 第 8 列 mov bh, 0 ; 0 页 mov ah, 2 ; 置光标 int 10h ; BIOS 调用 5 、答: mov ah, 7 ; 屏幕初始化 mov al, 0 ; 全屏为空格 mov bh, 07h ; 正常属性 mov ch,12 ; 左上行 mov cl, 0 ; 左上列 mov dh, 22 ; 右下行 mov dl, 39 ; 右下列 int 10h ; BIOS 调用 6 、答: (1) mov ah, 3 ; 读光标位置 mov bh, 0 ; 页号 int 10h ;BIOS 调用 (2) mov dh, 18h ; 第 25 行 mov dl, 0 ; 第 0 列 mov bh, 0 ;0 页 mov ah, 2 ; 置光标位置 int 10h ;BIOS 调用 (3) mov ah, 2 ; 置光标位置 mov bh, 0 ;0 页 mov dx, 0 ;0 行 0 列 int 10h ; BIOS 调用 mov ah, 9 ; 显示字符及属性 mov al, ‘M’ ; 字符 mov bh, 0 ;0 页 mov bl, 7 ; 正常属性 mov cx, 1 ; 显示次数 int 10h ;BIOS 调用 7 、答: message db ‘Try again, you have’ Count db ‘n’ db ‘ starfighters left.$’ ; … … add cl,30h ; 二进制数 → ASCII mov count, cl ; 存入 COUNT lea dx, message ; 字符串地址 mov ah, 09 ; 显示字符串 int 21h ;DOS 调用 9 、答: mess db ‘What is the date ( mm / dd / yy ) ’, 07, ‘$’ date db 10,0,10 dup (‘ ‘) … mov ah, 09 ; 显示字符串 lea dx, mess ; 字符串地址 int 21h mov ah, 0ah ; 键盘输入 lea dx, date ; 缓冲区地址 int 21h 11 、答: MODE COM2:12, N, 8, 1