汇编语言程序设计答案,汇编语言程序设计_汇编语言程序设计第五版答案钱晓捷
1、汇编语言程序设计_汇编语言程序设计第五版答案钱晓捷
一.
1.ADDBX,AX或ADDBL,AL;类型配对
2.MOVAX,0A999H
3.MOVAX,0F8H
4.MOVAX,1234H或MOVAL,12H
5.MOVAX,[BX]
6.MOVDS,AX;DS不能直接存立即数
7.ADD[BX],10;对
8.PUSHAX;push不能直接push立即数
9.INAL,DX
10.OUT40H,AL
11.MULAL;mul不能直接跟立即数
12.MOV[DI],AX;mov不能两个都是内存
13.ADDDI,AX
14.MOVDS,AX;CS不可以改
15.SUB10[SI],AX;sidi不可以同时出现
二.
SUB[BP],BX寄存器间接寻址方式;30400H;
MOV[BXDI],SI基址变址寻址方式;10400H;
ADDES:[SI],DI寄存器相对寻址方式;20200H;
MOV10[BX],DI寄存器相对寻址方式;10100H;
MOVDS:[100H],BX相对基址变址寻址方式;10100H
三.
3456H;5678H;1234H;5678H;
四.
1234H;2468H;0008H;1008H;0804H;0408H;0508H;0508H
五.
01H,31H,0FFH,00H,78H,56H,FFH,FFH,00H,24H,00H,0BH,00H,0BH,19H,09H,09H
(从左往右地址变大)
AX=3101H,BX=0023H
六.
1.
汇编语言:()是面向机器的程序设计语言。
汇编:把汇编语言翻译成机器语言的过程称为汇编。
汇编程序:把汇编语言书写的程序翻译成与之等价的机器语言程序的翻译程序。汇编程序输入的是用汇编语言书写的源程序,输出的是用机器语言表示的目标程序。汇编语言是为特定计算机或计算机系列设计的一种面向机器的语言,由汇编执行指令和汇编伪指令组成。采用汇编语言编写程序虽不如高级程序设计语言简便、直观,但是汇编出的目标程序占用内存较少、运行效率较高,且能直接引用计算机的各种设备资源。它通常用于编写系统的核心部分程序,或编写需要耗费大量运行时间和实时性要求较高的程序段。
2.
3.
单独cmpsb就是逐一比较8个位;加上rep,循环比较,还是比较这8位啊
4.
是指在计算机执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序而转去执行相应的时间处理程序。待处理完毕后又返回原来被中断处继续执行或调度新的进程执行的过程。
5.
宏和子程序都是为了简化源程序的编写,提高程序的可维护性,但是它们二者之间存在着以下本质的区别:
1、在源程序中,通过书写宏名来引用宏,而子程序是通过CALL指令来调用;
2、汇编程序对宏通过宏扩展来加入其定义体,宏引用多少次,就相应扩展多少次,所以,引用宏不会缩短目标程序;而子程序代码在目标程序中只出现一次,调用子程序是执行同一程序段,因此,目标程序也得到相应的简化;
3、宏引用时,参数是通过“实参”替换“形参”的方式来实现传递的,参数形式灵活多样,而子程序调用时,参数是通过寄存器、堆栈或约定存储单元进行传递的;
4、宏引用语句扩展后,目标程序中就不再有宏引用语句,运行时,不会有额外的时间开销,而子程序的调用在目标程序中仍存在,子程序的调用和返回均需要时间。
总之,当程序片段不长,速度是关键因素时,可采用宏来简化源程序,但当程序片段较长,存储空间是关键因素时,可采用子程序的方法来简化源程序和目标程序。
七.
2、《汇编语言程序设计》复习题答案求救,分析题!高分,谢谢!
五.分析程序并写出功能与结果
41.有一段程序如下:
…
…
MOV CX,64H
LEA SI,NAME1
LEA DI,NAME2
REP MOVSB
…
…
这段程序完成什么动作:
42.分析下列程序段执行或,A单元的内容是什么?
DATA SEGMENT
A DW 0
B DW 0
C DW 15H,5H,50H
DATA ENDS
CODE SEGMENT
.
.
MOV BX,OFFSET C
MOV AX,[BX]
MOV B,AX
MOV AX,2[BX]
ADD AX,B
MOV A,AX
.
.
CODE ENDS
A 单元的结果是
六.程序填空
本程序实现将,BX寄存器内的2进制数用16进制的形式,在屏幕上显示出来,请将没写完的空格填上。
CODE SEGMENT
MAIN PROC FAR
ASSUME CS:CODE
START:
PUSH DS
SUB AX,AX
AX
MOV CH,
ROTATE:
MOV CL,4
ROL BX,CL
MOV AL,BL
AND AL,
ADD AL,30H
CMP AL ,
JL PRINTIT
ADD AL,7H
PRINTIT:
MOV DL,AL
MOV AH,2
INT 21H
DEC
JNZ ROTATE
RET
MAI ENDP
CODE ENDS
END START
3、汇编语言程序设计(高起专) 求大神帮助回答以下两道题
1 ( 问答题 ) 假设 VAR1 和 VAR2 为字变量, LAB 为标号,试指出下列指令的错误之处:
(1) ADD VAR1, VAR2 ;
(2) SUB AL, VAR1 ;
(3) JMP LAB [SI] ;
(4) JNZ VAR1 ;
(5) JMP NEAR LAB
2( 问答题 ) 假设下列指令中的所有标识符均为类型属性为字的变量,请指出下列哪些指令是非法的?它们的错误是什么?
(1) MOV BP, AL ;
(2) MOV WORD_OP [BX+4*3][DI], SP
(3) MOV WORD_OP1, WORD_OP2 ;
(4) MOV AX, WORD_OP1[DX] ;
(5) MOV SAVE_WORD, DS
(6) MOV SP, SS:DATA_WORD [BX][SI]
(7) MOV [BX][SI], 2 ;
(8) MOV AX, WORD_OP1+WORD_OP2
(9) MOV AX, WORD_OP1-WORD_OP2+100
(10) MOV WORD_OP1, WORD_OP1-WORD_OP2
4、汇编语言程序设计〉半期试题请求解答
一.名词解释(本大题共5小题,每小题3分,共15分)试解释下列名词的含义。
1.逻辑地址
2.物理地址
3.标志寄存器
4.存储器寻址方式
5.补码
二.计算题(本大题共5小题,每小题4分,共20分)试按照各小题的要求给出计算结果。
1.将十进制数100分别转换为二进制、十六进制数,它们的表示形式分别为多少?
2.假设(DS)=0B00H,(BX)=0210H,对于指令MOV DS:120H[BX],AL,其目的操作数的物理地址为多少?
3.假设(BX)=0210H,(DI)=0060H,对于指令ADD DL,[BX][DI],其源操作数的偏移量为多少?
4.假设当前(SP)=0060H,连续执行5条PUSH指令后,(SP)=?
5.对于一个十进制数 – 65,其二进制补码表示形式为多少?
三. 排错题(本大题共4小题,每小题5分,共20分)每小题列出了一条指令,判断该指令有无语法错误,如果存在语法错误,请指出具体的错误原因,判断正确给2分,分析正确给3分,判断错误不给分。
1.PUSH 5588H
2.MOV DS, 1720H
3.ADD AX, CL
4.AND AX,[DX]
四.程序分析题(本大题共6小题,每小题5分,共30分)每小题列出了一段小的程序片段和相关存储单元的初始值,请按题目的要求分析各程序片段的运行结果。(寄存器中的内容请使用十六进制形式给出)
1.阅读如下程序片段
MOV AL,4CH
MOV BL,0B5H
ADD AL,BL
执行上述程序片段后,(AL)= ,(BL)= ,
CF= ,OF= ,PF= .
2.阅读如下程序片段
MOV AL,0F3H
MOV DL,0C4H
ADD AL,DL
AND AL,0FH
执行上述程序片段后,(AL)= ,(AF)= ,CF= ,OF= ,PF= .
3.阅读如下程序片段
MOV AL,7EH
MOV CL,04H
ROL AL,CL
执行上述程序片段后,(AL)= ,(CL)= ,
CF= ,OF= .
4.阅读如下程序片段
MOV AX,0632H
MOV BX,0C202H
SUB AX,BX
INC AX
执行上述程序片段后,(AX)= ,(CF)= ,
OF= .
5.阅读如下程序片段,假设(DS)=0100H,字节单元(01024H)=56H,字节单元(01025H)=28H
MOV BX,0024H
LEA BX,[BX]
OR BX,0
ADC BX,[BX]
执行上述程序片段后,(BX)= ,(CF)= ,
OF= .
6.阅读如下程序片段,假设(SP)=0064H
MOV AX,0001H
MOV BX,0002H
PUSH AX
PUSH BX
POP CX
POP BX
执行上述程序片段后,(AX)= ,(BX)= ,
(SP)= ,
五.程序设计题(本大题共2小题,第一小题7分,第二小题8分,共15分)
1.试编写一程序片段,实现BL高4位与低4位相互交换(7分)
2.试编写一程序片段,不使用乘除法指令,实现((AX)*5+14)/ 2的功能(AX中的数据理解为补码)(8分)
---------------------------------------------
急需回答……谢谢了!
请添加微信号咨询:19071507959