汇编习题参考答案
更新时间:2023-10-24 02:42:01 阅读量: 综合文库 文档下载
- 资政参考汇编推荐度:
- 相关推荐
部分习题参考答案 1.5 下列各数均为十进制数,请采用8位二进制补码运算,并回答标志寄
存器FLAGS中CF和OF的值,运算结果所代表的十进制数是多少?如果用16位二进制补码运算,其结果所代表的十进制数是多少?FLAGS中CF和OF的值呢?
(1)85+69 (2)85+(-69) (3)85-(-69) (4)85-(69) 85=55H,69=45H,-69=BBH, 8位二进制补码运算:
(1)85+69 =55H+45H=9AH, CF=0,OF=1 (2)85+(-69)=55H+BBH=110H,CF=1,OF=0
其余略
1.6 实模式下,写出段地址和偏移地址为1234:2002、1430:0042、
FF00:0FFF的物理地址。
1234:2002=12340+2002=14342 1430:0042=14300+0042=14342 FF00:0FFF=FF000+0FFF=FFFFF
1.7 已知8086系统某存储单元物理地址为:52506H,你认为段基址的最
大值、最小值分别是多少? 8086微机最多可以有多少个不同的段基址?
52506=5250:0006, 段基址的最大值=5250 52506=4251:FFF6, 段基址的最小值=4251 1.8 从物理地址为00100H开始到00103H单元中顺序存放的数据为:12H,
34H,56H,78H。请画出数据存放示意图,并回答以下问题: (1) 写出00101H字节单元的内容 (00101)= 34H
(2) 写出00102H字单元的内容 (00102)= 7856H
习题3
3.1 分别说明8086处理器中各寄存器的名称和作用是什么? 3.2 溢出标志OF与进位标志CF有何作用和区别?
3.3 何为段地址?何为有效地址? 何为物理地址?用指令举例说明。 3.4 带符号数比较大小,当AX < BX时程序转向标号L1,若前导指令为CMP AX, BX
后续指令应为什么?若视为二个无符号数比较大小, 后续指令应为什么?
带符号数:JL L1, 无符号数:JB L1
3.5 ADD指令和ADC指令在什么情况下是一样的结果? CF=0
3.6 说出CALL指令和INT 21H指令的操作,有何异同?
CALL把断点压入堆栈,不一定是远调,INT 21H还要把FLAGS压入堆栈,且是远调,总入口地址为84H内存中的两个字。
3.7 除了用4CH号系统功能调用结束程序的执行并退出,还有哪些办法? RET指令,INT 20H
3.8 指出下列错误的指令,说出错误原因,并给出合适的修改。 (1) MOV AX,[DX] / MOV AX,[BX] (2) MOV DS,DATA / MOV DS,BX (3) MOV CS,AX / MOV ES,AX
(4) MOV AX,DL / MOV AL,DL (5) PUSH AL / PUSH AX
(6) ADD [BX],[DI] / ADD [BX],DI (7) LEA [BX],[2000H] / LEA BX,[2000H] (8) MOV [BX],OFFSET [2000H]
(9) MOV [SI],2 / MOV BYTE PTR [SI],2 (10) MUL BX,CX / MUL BX (11) DIV 5 / DIV BX
(12) MOV BYTE[SI],2 / MOV BYTE PTR [SI],2 (13) MOV AX,[SI+DI] / MOV AX,[BX+SI] (14) SHR AX,4 / SHR AX,1 (15) CMP 6,AX / CMP AX,6
(16) MOV [FFFF],AX / MOV [FFFE],AX (17) MOV AX,BX+4 / MOV AX,[BX+4] (18) JMP FAR PRO / JMP FAR PTR PRO 3.9 假定(DS)=1200H,(SS)=4400H, (BX)=463DH,(BP)=2006H, (SI)=6A00H,位移量D=4524H,以AX寄存器为目的操作数,试写出以下各种寻址方式下的传送指令,并确定源操作数的有效地址EA和物理地址。
(1)立即寻址 ;操作数的EA就是指令的EA/操作数在指令中
/无EA
(2)直接寻址 ;EA=4524H,物理地址=DS:4524 (3)使用BX的寄存器寻址;无EA
(4)使用BX的间接寻址 ;EA=463DH,物理地址=DS:463D
(5)使用BP的寄存器相对寻址 ;MOV AX,[BP+4524],EA=2006+4524,
物理地址=SS:EA
(6)基址变址寻址 ;MOV AX,[BX+SI],EA= BX+SI,物理地址=DS:EA (7)相对基址变址寻址;MOV AX,[4524+BX+SI],EA=4524+BX+SI, 物理地址=DS:EA
3.10 用一条指令完成以下操作。
(1)把BX寄存器和DX寄存器的内容相加,结果存人DX寄存器中。 ADD DX,BX
(2)用寄存器BX和SI的基址变址寻址方式把存储器中的一个字节与AL寄存器的内容相加,并把结果送到AL寄存器中。
ADD AL,[BX+SI]
(3)用寄存器BX和位移量0B2H的寄存器相对寻址方式把存储器中的一个字和AX寄存器的内容互换。
XCHG AX,[BX+0B2]
(4)用位移量为0524H的直接寻址方式把存储器中的一个字与数2A59H相加,
并把结果送回该存储单元中。
ADD WORD PTR [524], 2A59H
3.11 在数据段定义了ARRAY数组,其中依次存储了五个字数据,请用以下寻址方式的指令把第4个字送AX寄存器。
(1)直接寻址
MOV AX,ARRAY+6 或MOV AX,[ARRAY+6] (2)使用BX的间接寻址
LEA BX,ARRAY+6 ;MOV AX,[BX] (3)使用BX的寄存器相对寻址
LEA BX,ARRAY ;MOV AX,[BX+6] (4)基址变址寻址
LEA BX,ARRAY ; MOV SI,6 ; MOV AX,[BX+SI]
3.12 画出数据在数据段中的存放情况,程序执行后,BX、DI、CX、DX寄存器中的内容是什么? 程序如下:
data segment
array dw 20,30,40,20h,30h,-6 buff db ‘abcd$’
data ends code segment
assume cs:code,ds:data
start:
mov ax, data mov ds, ax mov bx, array+1
mov di, offset array mov cx, [di+5] mov dl, buff+3 mov ah, 4ch int 21h
code ends
end start
1E,00,00,00,20,00,00,64
3.13 在DEBUG下设置(SP)=20H,设置AX、BX、CX、DX为不同值,把这四个寄存器内容依次压入堆栈,再从堆栈中依次弹出到SI、DI、BP、BX寄存器。写出一段程序实现上述操作,并画出每条入栈指令执行后SP和堆栈中数据的变化。
3.14 求出7450H与以下各十六进制数的和及差,并根据结果标出SF、ZF、CF、OF标志位的值。
(1) 1234H (2)5678H (3)9804H
(4)E0A0H
SF、ZF、CF、OF (1)1234H+7450H, 1 0 0 1 (2)5678H+7450H, 1 0 0 1
(3)9804H+7450H, 0 0 1 0 (4)E0A0H+7450H, 0 0 1 0 3.15 在数据段有如下定义: DATAX DW ?,? DATAY DW ?,?
SUM DW ?,?,?,?
请用16位指令按下列要求写出指令序列:
(1)DATAX和DATAY两个字数据相加,和存放在SUM中。 MOV AX,DATAX ADD AX,DATAY MOV SUM AX
(2)DATAX和DATAY两个双字数据相加,和存放在SUM开始的字单元中。 MOV AX,DATAX MOV DX,DATAX+2 ADD AX,DATAY ADC DX,DATAY+2 MOV SUM,AX MOV SUM+2,DX
(3)DATAX和DATAY两个字数据相乘(用MUL),积存放在SUM开始的字单
元中。
(4)DATAX和DATAY两个双字数据相乘(用MUL),积存放在SUM开始的字单元中。
(5)DATAX双字除以字DATAY(用DIV),商和余数存放在SUM开始的字单元中。
(6)DATAX和DATAY两个压缩BCD码数据相加,和存放在SUM中。 3.16 双字长数X存放在DX和AX中,设(DX)=1004H,(AX)=1002H,要求用16位指令写出:
(1) 对存放在DX和AX中的双字长数求补的指令序列,并验证结果。 NOT AX NOT DX ADD AX,1 ADC DX,0
(2) 用减法指令求0-X的指令序列,并验证结果。 MOV BX,0 MOV CX,0 SUB BX,AX
SBB CX,DX ;结果在CX,BX
3.17试编写一个程序求出双字长数的绝对值。双字长数在A开始的字单元中,结果存放在B开始的字单元中。
A DW ?,? B DW ?,? 。。。
MOV AX,A
MOV DX,A+2 TEST DX,8000H JZ ZS NOT AX NOT DX ADD AX,1 ADC DX,0 ZS:MOV B,AX
MOV B+2,DX
3.18 用移位指令为主实现对AX中的无符号数乘以5,不考虑乘积可能超出16位。
MOV DX,AX
MOV CL,2 SHL AX,CL ADD AX,DX
3.19 用移位指令为主实现对AX中的无符号数乘以5,考虑乘积可能超出16位的情况。
提示:用DX接AX左移的位,32位操作。
3.20 把AX中的内容依次倒排序,即第0位移到第15位,第1位移到第14位,…。
3.21 在数据段有如下定义: BUFF DB ‘ABCD$EFGHIJK$’
STR1 DB 12 DUP(?) LEN DB ?
用串指令编写程序完成以下操作: (1) 对字符串STR1全部置空格符。 MOV AX,DATA MOV DS,AX MOV AL,20H LEA DI,STR1
MOV CX,STR1-BUFF CLD
REP STOSB
(2) 从左到右把BUFF中的字符串传送到STR1。 MOV AX,DATA MOV DS,AX MOV ES,AX CLD
LEA SI,BUFF LEA DI,STR1
MOV CX,STR1-BUFF REP MOVSB
正在阅读:
汇编习题参考答案10-24
“解放思想、担当作为、创新发展”大讨论活动实施方案07-02
2018年环保主题英语演讲稿材料学习范文03-08
伤心的事作文300字07-03
wps文字处理操作题06-08
听力材料03-08
环保行业周报:深化改革领导小组第三十八次会议审议通过《生态环04-22
大学英语听说第二册答案(第三版)07-17
零售药店行业发展现状及未来前景11-09
阜阳主要商圈07-07
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 习题
- 汇编
- 答案
- 参考
- 大学英语B模拟六及参考答案
- 配位化合物 - 图文
- 组态王连接西门子
- 抓早赶前谋划,“量体裁衣”确保设备春检有实效
- “除陋习 - 树新风 - 讲文明”主题班会教案
- 管理学案例分析题
- 测量学(高起专)阶段性作业3
- 2016五年级网赛试题
- 关于鲁迅
- 浅谈农村留守儿童的安全问题 -
- XX矿矿业用地整合利用实施方案编制提纲
- BJ最全北京市公交车路线图
- 《审计学》案例分析题
- 19 完善民办高校法人治理结构的实践与探索 - 基于三江学院的个案分析
- 发变组保护与励磁系统限制及保护的匹配关系
- 文秘专业《文书与档案管理基础》期末补考试卷及答案
- 免疫组化
- 汽机论述
- 2018-2019年黔南州福泉市南街中心小学小学一年级上册数学模拟练习题无答案
- 更换艾柯夫SL1000采煤机摇臂预案