




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
3.2设置(DS)=6000H,(ES)=2000H,(SS)=1500H,(Si)=00A0H,(BX)=0800H,(BP请分别指定以下每个命令源操作数的寻址方法:物理地址是什么?(1) MOV AX,BX (2) MOV DL,80H(3) mov ax,var (4) mov ax,var bx si(5) moval,b(6)mov di,es : bx(7) MOV DX,BP (8) MOV BX,20HBX解决方案:(1)寄存器寻址。寄存器BX是操作数的地址,因为源操作数是寄存器。(2)立即寻址。操作数80H存储在代码片段中的脚本MOV之后。(3)直接寻址。(4)更改默认地址相对地址。操作数的物理地址=(ds) 16 (si) (bx) var=60000h 00a0h 0800h 0050h=608 f0h(5)立即寻址(6)寄存器的间接寻址。操作数的物理地址=(es) 16 (bx)=20000H+0800H=20800H(7)寄存器的间接寻址。操作数的物理地址=(ss) 16 (BP)=15000H+1200H=16200H(8)寄存器相对寻址。操作数的物理地址=(ds) 16 (bx) 20h=60000 h 0800 h 20h=60820h假定3.3(ds)=212 ah,(cs)=0200h,(IP)=1200h,(bx)=0500h,位移数据=40h,(217A0H)(1) JMP BX(2) JMP WORD PTRBX(3) jmp dword ptr bx1data解决方案:“传输”命令分为段内传输和段间传输、段内直接和间接传输(取决于寻址方法)以及段间直接和间接传输地址。对于直接传输,发送地址是当前指令的偏移地址(即IP的内容)加上位移量,或直接从指令中派生。在间接传输的情况下,传输地址与指令中寄存器的内容或寄存器的内容指向的存储设备的内容相同。(1)段落内间接转移。发送的物理地址=(CS) l6 0500H=02000H 0500H=02500H(2)段落内间接转移。发送的物理地址=(CS) 16 BX=(CS) l6 (217A0H)=02000H 2300H=04300H(3)段落间间接转移。传输的物理地址=bx1dataIP=DSL 6 bxdata=217 E0=(2121217 E2 h)l6(217 E0 h)cs=21217 E2 h=9000h=9000h 0400h=90400h尝试3.4命令MOV BX,5BX与命令LEA BX,5BX的区别。解决方案:电子是数据传输类的指南,从数据段到偏移地址(BX 5) 16位数据传输寄存器BX。后者执行偏移地址命令并执行(bx)=(bx) 5。也就是说,操作数的偏移地址为(BX) 5。3.5堆栈指针SP的初始值为2300H,(ax)=50abh,(BX)=1234H。执行PUSH AX命令后,(sp)=?pushpbx和POP AX命令后,(SP)=?(AX)=?(bx)=?解决方案:堆栈指针SP始终指向每次运行PUSH命令SP-2时执行POP命令SP 2的堆栈顶部。因此,在运行PUSH AX命令后,(SP)=22 feh;运行PUSH BX和POP AX后,(SP)=22FEH,(AX)=(BX)=1234H3.6指示以下命令的错误:(1) MOV AH,CX (2) MOV 33H,AL(3) MOV AX,SIDI (4) MOV BX,SI(5) add byte ptr BP,256 (6) mov data si,es : ax(7) JMP BYTE PTRBX (8) OUT 230H,AX(9) MOV DS,BP (10) MUL 39H: (1)解决命令错误。两个操作数的长度不相等(2)命令错了。MOV命令不立即接受目标操作数。(3)命令错了。间接寻址中,两个地址寄存器不能同时是地址更改寄存器。(4)命令错了。MOV指令不允许两个操作数同时成为存储操作数。(5)命令错了。ADD命令需要与两个操作数相等的字符长度。(6)命令错了。源操作数的格式错误,因此不向寄存器操作数中添加段重置字符。(7)命令无效。传输地址的长度必须至少为16个字符。(8)命令错了。对于块输出命令,当端口地址超过8位二进制数的表示范围(即,指定地址的端口超过256个)时,必须使用间接寻址。(9)命令正确。(10)命令错了。MUL命令不立即接受操作数。3.9执行以下程序后,请判断BX的内容。MOV CL,3MOV BX,0B7HROL BX,1ROR BX,CL解决方案:此过程首先将BX内容向左移动一位,没有进位循环,然后再循环,向右移动三位。结果为(BX)=0C02DH,因为原始BX内容相当于向右移动2位,没有进位循环3.11分别表示以下两个程序段的功能:(1)(2)MOV CX、l0CLD利亚斯,first leadi,1200 hLEA DI、SECONDMOV CX、0FOOHSTDXOR AX,AXREP MOVSBREP STOSW解决方法:(1)此段程序的功能是在数据段中减去FIRST为最高地址的10字节数据的地址方向上,将附加段SECOND为最高地址的10个单元格传递到以后的10个单元格。(2)在附加段中,将偏移地址以1200H为单位开始的0FOOH单词单位整理为0。3.16创建执行以下功能的程序段:(1)从地址ds: 0012 h向AL寄存器发送数据56H(2)将AL的内容向左移动两个字符(3)将AL的内容与以字节为单位的ds: 0013 h的内容相乘(4)乘积存放在文字单元DS:0014H中解决方案:MOV SI,OFFSET0012HMOV DI,OFFSET0014HMOV AL,SIMOV CL,2SAL AL,CLMOV BL,0013H穆德blMOV DI,AX查看选择:3.7已知(AL)=7BH,(BL)=38H,ADD AL,BL命令后,AF、CF、OF、PF、SF和ZF的值分别是多少?解决方案:AF=1,CF=0,OF=1,PF=0,SF=l,ZF=03.10根据以下要求填写相应的命令或程序段:(1)创建两个将AX内容归零的命令。(2)在BL寄存器中交换高4位和低4位。(bll、b7和B3位屏蔽CLARiiON寄存器。(4)测试DX上的B0和b8位是否为1(1) MOV AX,0XOR AX、AX;AX寄存器可以自行不同,也可以使内容干净。(2) MOV CL,4ROL BL、CL;BL内容向左循环4位,可交换4位和4位低(3) and CX,0f 777h在CLARiiON寄存器中,将要屏蔽的位设置为“and”0。也可以使用或命令执行此操作(4)和dx,0101h需要侧测试的位“and”1,其馀“and”0屏蔽Cmp dx,0101h与0101H比较Jzone相同的话,B0和b8位元3.12执行以下两个命令后,标志寄存器FLAGS的六个状态位为什么各有状态?MOV AX,84A0HADD AX,9460H解决方法:执行ADD指令后,六个状态旗标位元状态中的每一个为:两个16位相加运算影响CF、ZF、SF和OF,但对于PF和AF标志位,只有低8位运算影响其状态。每个标志位的状态包括AF=0、PF=1、CF=1、ZF=0、SF=0、OF=1。3.14已知AX=8060H,DX=03F8H,端口PORT1的地址为48H,内容为40H;PORT2的地址为84H,内容为85H。显示执行以下命令后的结果:(1)OUT DX,AL(2) IN AL,PORT1(3) OUT DX,AX(4) IN AX,48H(5) OUT PORT2,AX解决方案: (1)将60H输出到地址为03F8H的端口。(2)从PORT1读取字节数据,运行结果:(AL)=40H。(3)将AX=8060H输出到地址为03F8H的端口。(4)从48H端口读取16位二进制数。(5)将8060H输出到地址为84H的端口。使用4.1 DB、DW、DD伪指令在以DATA开头的8个连续单元中分别写入11H、22H、33H、44H、55H、66H、77H和88H的数据定义语句。解决方案:DB、DW和DD伪命令分别指示定义的数据是字节类型、单词类型和双字体。定义格式为:Data db 11h、22h、33h、44h、55h、66h、77h、88hData dw211h,4433 h,6655 h,8877 hData DD 4433211h,88776655 h4.2如果程序的数据段定义如下,则创建独立执行每个命令语句的结果:DSEG SEGMENTDATA1 DB 10H、20H、30HDATA2 DW 10 DUP(?),以获取详细信息字串db 123 DSEG ENDS(1) MOV AL,DATA1(2) MOV BX,OFFSET DATA2(3) LEA SI,STRINGADD DI,SI:1.获取变量DATA1的值。执行命令后(AL)=10H。2.变量DATA2的偏移地址。执行命令后,(BX)=0003H。3.将寄存器SI发送到变量STRING的偏移地址后,将SI的内容添加到DI的内容中,然后将结果DI .执行命令后(SI)=0017h;(di)=(di) 0017 H4.6假定数据项定义如下:Data1db hello!早上好DATA2 DB 20 DUP(?),以获取详细信息使用字串操控指令建立程式区段,以分别执行以下功能:(1)从左到右,将DATA1中的字符串传递到DATA2。(2)比较传输后DATA1和DATA2的内容是否相同。(3)在AX上装载DATA1的第3个和第4个字节。(4)将AX的内容以DATA2 5开头的字节为单位汇款。解决方案:(1)MOV AX,SEG DATA1MOV DS,AXMOV AX,SEG DATA2MOV ES,AXLEA SI,DATA1LEA DI、DATA2MOV CX,20CLDREP MOVSB(2)LEA SI,DATA1LEA DI、DATA2MOV CX,20CLDREPE CMPSB,即可从workspace页面中移除物件。即可从workspace页面中移除物件。即可从workspace页面中移除物件。(3)LEA SI,DATA1ADD SI,2LODSW(4)LEA DI,DATA2ADD DI,5斯托斯w4.8程序段,用于将STRING1的最后20个字符移动到STRING2(顺序保持不变)。解决方案:因为字符串的定义必须以“$”符号结束,所以首先确定STRING1的字符串长度。如果将字符串长度设置为COUNT以检测“$”字符,则程序为:LEA SI,STRING1LEA DI,STRING2ADD SI,COUNT-20MOV CX,20CLDREP MOVSB编写4.10试点计划,比较AX、BX、CX中符号数量的大小,并将最大数量放置在AX中。解决方案:可以使用“比较具有符号数的尺寸比较符号数”命令JG等。C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年建筑工程类注册安全工程师安全生产专业实务(道路运输安全)-安全生产专业实务(道路运输安全)参考题库含答案解析
- 2025年学历类自考专业(电子商务)网页设计与制作-电子商务法概论参考题库含答案解析
- 2025年学历类自考专业(电子商务)电子商务与现代物流-网络营销与策划参考题库含答案解析
- 2025年学历类自考专业(电子商务)市场营销(三)-电子商务与金融参考题库含答案解析
- 2025年学历类自考专业(法律)国际私法-国际经济法概论参考题库含答案解析
- 2025年学历类自考专业(法律)合同法-房地产法参考题库含答案解析
- 2025年学历类自考专业(法律)劳动法-劳动法参考题库含答案解析
- 区块链在公共基础设施维护中的应用考核试卷
- 2025年学历类成考专升本-思想道德修养与法律基础参考题库含答案解析
- 2025年特色民宿餐饮服务与社区团购合作合同范本
- 新能源汽车概论 课件 5.1新能源汽车高压安全与防护
- 浙江省温州市鹿城区2025年小升初总复习数学测试卷含解析
- 带状疱疹护理查房
- 2025福建德化闽投抽水蓄能有限公司招聘15人笔试参考题库附带答案详解
- 电力服务收费标准
- VR体验馆商业计划书
- 房地产销售经理转正述职报告
- 正畸托槽粘接流程配合
- 厂区行驶车辆安全管理规定模版(2篇)
- 建筑企业安全法律课件
- 现场安全生产培训
评论
0/150
提交评论