




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、15/15第章 06PU指令系统=写出完成下列要求的变量定义语句:(3)在缓冲区buf1中留出10个字节的存储空间; (4)在缓冲区bf中,保存个字节的55,再保存1个字节的2,并将这一过程重复次;()在变量vr中保存缓冲区u的长度;()在变量ointer中保存变量var1和缓冲区buf的偏移地址。解:bfDB10DP(?)bu2DB7 U(5DU(55H),10 UP(20))vr3NGTf1oierW var1,f (或者poneDW OFST vr1,OFFSET bf)设变量va1的逻辑地址为1:000,画出下列语句定义的变量的存储分配图: var1 B 1,12,20/6,P(0,5
2、) ar DB Assembe a3 D B, c, E var4 D vr var5 DD var2解:指令正误判断,对正确指令写出源和目的操作数的寻址方式,对错误指令指出原因(设VAR1, VA为字变量, L1为标号): (1)MOVI,1(2)MOV X,VA1S (3)M A,BX(4)MOV A, DX (5)MOV BP,AL(6)OVAR1, VR2 (7)MOVCS, ()OV DS, 100H (9)MOV BXSI, 1(10)OV AX, AR1+VAR2 (1)ADD AX,LENTH AR1(12) BL, TYE VA2 ()SUB D,7H(14)MOVS VAR
3、,VA2 (15)PS 100H(6)PP C (17)XCH AX, S(1)MV DS, CS (19)JPL1+5(20)DIV A, 0 (21)SHLBL, ()MOVAL, 15+3 (2)MUL (24)XCHG C,SI (25)ADC CS:0, AH(26)SBBVA1,1解:(1)MOV SI,1正确.源:立即数寻址, 目的:寄存器寻址(2)MOVX,V1SI 正确。源:寄存器相对寻址, 目的:寄存器寻址()MOV AX,X正确。源:寄存器间接寻址,目的:寄存器寻址()MOV A,DX错误。寄存器间接寻址时,X, X,CX不能作地址寄存器(5)MV BP,AL错误.操作数
4、类型不一致(6)V VAR,VAR错误.两存储单元之间不能用MO指令传送数据()MOV C,X错误。CS不能为目的操作数(8)MOV ,00H错误。目的操作数为段寄存器时,源操作数不能为立即数(9)MOVX,错误.指令类型不定.(1)MOV AX,AR1+VAR2 错误。V指令中不能完成加法运算(11)ADD A,LETHVA1正确。源:立即数寻址。目的:寄存器寻址(12)OR BL,TPEVA正确。源:立即数寻址.目的:寄存器寻址(3)UB DI,78H错误。指令类型不定(1)OVS V,VAR2正确。目的、源均为隐含寻址。操作数仅指出操作数类型()PUSH100H错误。将常数压入堆栈,要通
5、过寄存器来实现()CS错误.目的操作数不能为CS(17)XCX,ES错误。XH指令的操作数不能是段寄存器(18)MOVDS,CS错误。MV指令不能从段寄存器到段寄存器(19)JMP L15正确。段内直接转移(2)IV,0错误。指令格式错误。(21)SL,2错误。移位指令的移位数为1或者CL(22)MOVA,15+23正确。源:立即数寻址,目的:寄存器。编译时就处理为8(23)MULX正确。源:寄存器寻址,目的:寄存器寻址(24)CHG,SI 正确.源:寄存器间接寻址,目的:寄存器寻址(25)C CS:10,A正确。源:寄存器寻址,目的: 直接寻址(数据在代码段中)(2)SBVR15,154正确
6、.源:立即数寻址,目的:直接寻址。说明下列指令对的区别:MOV X,VA1 与MV AX,OFFST AR1OVX,VAR2 与LA AX,AR2MV L,LENTH VAR 与 MOV AL,SIZE R1OAL,:D CMP AL, SI与 CMPBSH L,1 与 SR AL,1H AL,1 与 RO L,O X, 与 C BX,1解:(1)OV A,VAR1 把变量VAR1对应地址单元中的一个字送入AX MOV ,OFFSETV1 把VA的有效地址的偏移地址送入AX(2)MV ,AR2 把变量AR2对应地址单元中的一个字送入A LEA AX,VAR2 把VAR2的有效地址的偏移地址送入
7、X(3)MO L,LENTH VAR1 把变量R1的长度送入AOVL,SZE VAR1 把变量VA的大小送入AL()MV L,ES:DI CP A,SI 把以ES为段地址,DI为偏移地址的一个字节送入AL,并与以SI内容为偏移地址的一个字节作比较,改变标志寄存器内容。(相当于作S:(D)与(S:(SI)内容比较) CPS对字符串中的一字节比较.寻址方式隐含.源串的地址由:SI指定,目的串的地址由E:DI指定。(相当于作DS:(S)与ES:(DI)内容比较)(5)SH AL,A逻辑右移1位,最高位移入0, 最低位移入CF. AR AL,1 A算术右移1位,以最高位内容移入,最低位移入CF,其余各
8、位右移一位。(6)SR L,1 AL逻辑右移1位,最高位移入, 最低位移入CF. RR AL,1A的各位构成环形移位,右移一位,最低位内容同时移入到CF和最高位。(7)ROL BX,1 BX各位构成环形移位,左移一位,最高位内容同时移入到CF和最低位。RCBX,1 B和CF构成环形移位,左移一位,CF内容移入到最低位,最 高位移入C。写出下列转移指令的寻址方式(设L为标号,VAR1为字型变量,VAR为双字型变量): (1)JMP L1(2)JMP NAR L1 (3)N 1(4)JMP BX (5)JG L1(6)JMP ARI (7)JMP FARPT L (8)JM VAR1解:(1)JM
9、L1 段内直接寻址 (2)MPEAR PRL1 段内直接寻址(3)JNZL1 段内直接寻址 (4)JM BX段内间接寻址(5)GL1段内直接寻址 (6)JMP VR1I段内间接寻址(7)JMPAPTR L1段间直接寻址 ()JMPDA1 段间间接寻址设(D)0H,(X)=010H,(I)002,(2010)34H,(202)=7H,(220)C2AH,(21202)65B7H,求下列指令执行后AX寄存器的内容: (1)MO AX,120H;(2)MV AX,; (3)OV AX,1200H; (4)MOV A, BX; (5)V AX,110BX;(6)MVAX, BXI; ()MOV AX,
10、10BXSI解:(1)1200H () 00H (3)4C2H (4)3412H (5)C2A (6)7856H (7)5B7H执行下列指令后,X寄存器中的内容是多少?TLDW 25,3,1,1,10000,13PYD 7MO BX,OFFABEADD B,PYV DX,BX解:DX = 10FFH 由1(FFF0)的高8位和10000(10H)的低8位构成如果堆栈的起始地址为20:000,栈底为100,(P)=0A8H,求()栈顶地址;(2)SS的内容;()再存入数据568,3A2后,S的内容。解:栈顶地址00A8, S 20H,再存入2个字后,SP =00A设已用伪指令EQU定义了4个标识
11、符:N1 QU 2100N2 EQ 10N3 EQ 200N EQ 00下列指令是否正确?并说明原因。()D L,N1N2;()MOV X,N3N4;(3)SU ,NN3;(4)SUB A,N4-N3N1;(5)AD AL,N;()MOV AH,N2N2解:(1)错误。N1209055 ()正确 (3)正确(4)错误.N4-N3N1=90025 (5)正确 (6)正确按下列要求写出指令:()将A寄存器的低4位清零,其余位不变;()将BX寄存器的低4位置1,其余位不变;(3)将AL寄存器的低4位保持不变,高位取反;(4)测试BX中的位1和位2,当这两位同时为时将L置0FFH,否则AL清零;(5)
12、测试BX中的位1和位,当这两位有一位为0时将A置0F,否则A清零;(6)将L中保存的字母SII码变换成相应的大写字母的ASCI码;(7)将AL中保存的字母ASCII码变换成相应的小写字母的SCI码;()将X中的各位取反;(9)将D中的低位取反,高位不变;(10)将C中的低8位与高8位互换。解:()AND AX,FF0H ()OBX,00FH (3)XOR L,F0(4) TETBX,0H (5)OV,B JZ ZERO ANDX,06H MOVAL,0H XOR AX,06 JMP OVER Z OVERZERO:OVAL,0FFH MOVA,0FFH OER: OER: (6)AD AL,H
13、或者:MAL,61 JLOVER (无需变换或不是字母)CMPA,AHJGOVE (不是字母)ANAL,5H 或 SB,0HOVR:()OR AL,2H 或者:MPAL,41H LOER (不是字母)MPA,5AHGOVE (无需变换或不是字母)OAL,20H 或 ADD AL,0HOVR:(8)XOR AX,0FFF或者NOAX(9)XR D,0FH (10)XCGH,C写出完成下述功能的程序段:(1)传送4H到AL寄存器;()将AL的内容乘以;(3)传送16H到A寄存器;(4)AL的内容加上H的内容。计算最后结果(AL)?解:()V AL,0H (2)SHLL, (3)MV AH,6H(4
14、)DD A,AH AL=6H写出完成下述功能的程序段:()从缓冲区BUF的00偏移地址处传送一个字到X寄存器;(2)将AX寄存器的内容右移位;(3)将内容与UF的0006偏移地址处的一个字相乘;(4)相乘结果存入BUF的020H偏移地址处(低位在前).解: (1)LE I, BUFMOVAX, SI+4 (2)SHRAX,HRAX,1(3)MUWORD PR6SI(4)MO0SI,MOV2S,DX设(BX)1100,变量的内容为00000B,求下列指令单独执行后的内容:(1)OR BX,VR;(2)AD ,AR;(3)R X,VA;(4)XOR B,11100B;()AND X,0001111
15、B;(6)TBX,解:(1)00FH (2)002(3)00FB()003H(5)000BH(6)00CB设(DX)101101B,(L),(CF)=,求下列指令单独执行后X的内容:(1)SHDX,1;()SARD,CL;(3)SHDX,C;()HLDX,1;(5)ROR X,CL;(6)ROLDL,CL;(7)SDH,;(8)RCDX,L;(9)RCR DL,1解:DX000 00 011 10B CF= CL=3()HR DX,D逻辑右移100 000 01011101=05DH(2)SARX,LDX算术右移300000 00 11B=1H(3)SHLDX,CD逻辑左移3000 0101
16、110 100B=058H(4)SHD,D逻辑左移00 1 011 011B07H()ORD,CD循环右移30110 0 0011B=607(6)OLDL,CLDL循环左移30000 00 11 1101B=0DH(7)SALDH,1DH算术左移1000000 10111011B=00H(8)RCLDX,CDX带进位循环左移300 101 11 1100B=05DCH()RRDL,DL带进位循环右移10 000 1101 10B0DH选择题(各小题只有一个正确答案)()执行下列三条指令后:OV SP,10HP AXCAL B ()=00H;b (SP)=0FFEH; (SP)100;d。 (S
17、)0FH;(2)要检查寄存器AL中的内容是否与AH相同,应使用的指令为:a. AD AL, AH ORL, AHc。X L, H SB AL,AH(3)指令JMP NEA R L1与LL L1(L1为标号)的区别在于:a寻址方式不同; b. 是否保存P的内容;c 目的地址不同;d. 对标志位的影响不同.解:(1)DPSHUAX则AX入栈,SP=0FFEH;ALL B则I入栈,SP=0FFCH()C异或,若相同,则AL=0,ZF=1。(3)B寄存器DX:AX组成32位数,DX为高位,编写程序段实现:()DX:A右移3位,并将移出的低位保存在CL中;()DX:AX左移3位,并将移出的高位保存在CL
18、中;解:()移出的3位应该按时序移入CL中. XO L,L MO BL,3L1: SHRDX,1RCRX,1RCL CL,1DC LN L()移出的位应该按时序移入L中. XO C,CL MOV BL,31: HLAX,1RCRDX,1R CL,1D BL L编写程序段实现将B中的每一位重复4次,构成32位的双字DX:AX,例如当L=00111B时,则得到的(DX)0F0F,(AX)0F0F。解:算术右移时,移入的值就是最高位本身,这样可以使位内容重复,利用这一点可以实现题目的要求。XORDX,DXXORA,AXMOVC,4:SHRL,1 CAX,SARX,1SARA,1SRX,LOOPL1M
19、OVCX,4L: HRL,RCD, SAX,1 SARX, RDX,1LOOPL2字变量VAR1中保存有小于325的1位无符号数,编写程序段实现A1150,并进行四舍五入操作,将商保存在字节变量VAR2中。解:根据题意,38250150=255,因此商不会超过25,可以用一个字节表示。ab的四舍五入操作可以通过判断除后余数实现:余数大于等于除数的一半,则商加1;否则不用加1。但这种方法用汇编语言编程实现时比较复杂,这里介绍另外一种方法:设ab的四舍五入后的结果为c,用表示取整数操作,则这种方法是在除法操作之前,在被除数上加上除数的一半,这样除法操作后得到的值就是考虑了四舍五入的商。 VR1W
20、235VR2DB ?DATAADB 150OV A,VAR1XR BX,BXM BL,DATASH BX,DD AX,BXDIV DAMOV VAR2,有一组无符号的16位数据保存在UFFER中,前两个字节存放数据的个数,编程实现按下式进行滤波处理:解:滤波结果保存在LT中.BUFER D 0HDW 33, 18, 1BH, 0H, 33H, 08HDW 3H, 6, 0H, 5H, 0H, HFILTDW0H (?)LEA S,UFRLA ,FILTMOVCX,SIMOVDI,CXADD S,2AD DI,XR,DXOVAX,SIOVDI,AMOV BX,SIMOV 2I,BXADD SI,4AD DI,DECCX XAD AX,BAC X,0MOV BX,L1:DD A,AD DX,PUSH DXSH XIV XO DI,AXPOP AXOP DSUB A, S4SDX,0DD DI,DI,2LOOP L1在由字符串构成的缓冲区BUFFR中,前个字节存放字符个数,后续每个字节存放一个字符的A码。编写程序实现将字符串204替换成2006。解:在数据段中定义:B
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 信息安全测评 合同范本
- 小型店铺股份合同范本
- 产品赞助协议合同范本
- 钢板购销合同范本
- 印刷服务安全合同范例
- 北海购房合同范例
- 包装修转让合同范例
- 受托支付采购合同范例
- 临时设施合同范例
- 劳动法居间合同范例
- 湖南省2025届高三九校联盟第二次联考语文试卷(含答案解析)
- 山东省烟草专卖局招聘真题2024
- (2025)全国交管12123学法减分测试题库及答案(带图版)
- DeepSeek培训课件-清华大学-DeepSeek+DeepResearch应用报告
- 23G409先张法预应力混凝土管桩
- 2024年贵州省工业投资发展有限公司招聘笔试参考题库附带答案详解
- 通风机的结构和原理(课堂PPT)
- 地基处理施工与检测监测方案
- 注塑件外观检验质量标准及规范
- 张明楷:如何理解刑法中的“以非法占有为目的”
- 圆形针织机润滑油 ABLON 7070 (MSDS)
评论
0/150
提交评论