2019年整理IBM-PC汇编语言程序设计第二版课后习题答案清华大学出版社 联系客服

发布时间 : 星期日 文章2019年整理IBM-PC汇编语言程序设计第二版课后习题答案清华大学出版社更新完毕开始阅读1d7668b8effdc8d376eeaeaad1f34693daef10b1

ORG 0E000H ;讓下一字節地址為0E000H FIRST_TYPE EQU THIS WORD ;建立一個與下一存儲單元有相同段地址和偏移地址的操作數

DATA_GROUP DB 100 DUP(?) ;給DATA_GROUP 分配100個字節的空間 DATA_SEG ENDS ;數據段結束 STACK_SEG SEGMENT ;定義堆棧段

ALIGN 16 ;讓下一字節從小段首地址開始

STACK DB 100 DUP (?) ;為堆棧分配空間 STACK_SEG ENDS ; CODE_SEG SEGMENT

ASSUME CS:CODE_SEG ,DS:DATA_SEG ,SS:STACK_SEG

ORG 1000H ;讓下條指令的第一個字節從1000H開始

START : MOV AX,DATA_SEG MOV DS,AX

MOV AX,STACK_SEG MOV SS,AX ....... CODE_SEG ENDS

END START ;結束 17。程序如下:

D_SEG SEGMENT ;数据段定义 AUGEND DD 99251 D_SEG ENDS

E_SEG SEGMENT ;附加段定义 ADDEND DD -15926 E_SEG ENDS

C_SEG SEGMENT ;代码段定义 ASSUME CS:C_SEG , DS:D_SEG,ES:E_SEG START: MOV AX,D_SEG MOV DS,AX MOV AX,E_SEG MOV ES,AX

MOV EAX,DS:AUGEND ADD EAX,ES:ADDEND MOV DS:SUM,EAX C_SEG ENDS

END START ;结束 19.需要加上PTR伪操作的有: (2)(3)(4)

第五章

1.程序實現:(經DEBUG調試通過)

code segment main proc far

assume cs:code start:

mov ah,1h int 21h

sub al,20h mov ah,2 mov dl,al main endp code ends end start

2.程序實現:(經DEBUG調試通過) code segment

again:

code ends end

3.程序實現:(經DEBUG調試通過) code segment

ax,0f0feh

cl,4 ;把AX的最高四位

ax,cl ;移到最右面

al,0fh ;再把AL的高四位清0 dl,al int 21h assume cs:code mov mov rol and mov rol ax,cl and al,0fh mov cl,al

int 21h assume cs:code mov ah,1h sub al,1h mov cl,3 mov dl,al mov ah,2 int 21h inc al loop again

rol ax,cl and al,0fh mov bl,al rol ax,cl and al,0fh code ends end

4.程序實現:(經DEBUG調試通過~~) data segment

(?) string1!','$' data ends code segment MAIN PROC FAR

start:

ax info input info input check dx string1 db 20,0,20 dup string2 db 20,0,20 dup (?) string3 db 'please input

string5 db 'match!','$' string6 db 'nomatch!','$' assume cs:code, ds:data push ;保護現場

push bx push cx push dx mov ax,data mov ds,ax

mov dx,offset string3 call ;在屏幕上輸出提示信息

mov dx,offset string1 call ;在第一緩衝區輸入字符串

mov dx,offset string4 call ;在屏幕上輸出提示信息

mov dx,offset string2 call ;在第二緩衝區輸入字符串

call ;比較兩個字符串

pop ;寄存器出棧

pop cx pop bx pop ax main endp

;輸入字符串到緩衝區的過程 INPUT PROC NEAR

push ax mov ah,0AH int 21h pop ax ret INPUT ENDP

;在屏幕上輸出提示信息的過程 INFO PROC NEAR

push ax mov ah,9 int 21h call crlf ;回車換行

pop ax ret INFO ENDP

;回車換行 的過程 CRLF PROC NEAR

push dx push ax mov dl,0dh mov ah,2 int 21h mov dl,0ah mov ah,2 int 21h pop ax pop dx ret CRLF ENDP

;比較兩字符串是否相同並且在屏幕上輸出相應信息的過程 CHECK PROC NEAR

push ax push cx push si push di mov ax,0 mov cx,0