电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

汇编语言源程序设计VIP免费

汇编语言源程序设计_第1页
汇编语言源程序设计_第2页
汇编语言源程序设计_第3页
1第四章汇编语言源程序设计1.画出数据段汇编后相应存储单元中的内容并标出存储单元的逻辑地址。DATASEGMENTORG0100HABC0EQU78HABCDB09H,-2,45H,2DUP(01H,?),‘AB’ABC1DW-2,34H+ABC0,$ABC2DD12HABC3DWABCDATAENDS解:DS:0100HABC→09HDS:0101HFEHDS:0102H45HDS:0103H01HDS:0104H-DS:0105H01HDS:0106H-DS:0107H41HDS:0108H42HDS:0109HABC1→FEHDS:010AHFFHDS:010BHACHDS:010CH00HDS:010DH0DHDS:010EH01HDS:010FHABC2→12HDS:0110H00HDS:0111H00HDS:0112H00HDS:0113HABC3→00HDS:0114H01H2.设程序中的数据定义如下:PARTNODW?PNAMEDB16DUP(?)COUNTDD?PLENTHEQU$-PARTNO问PLENTH的值为多少?它的含义是什么?解:PLENTH的值为22(16H)。表示当前位置与PARTNO之间有22个字节空间。3.假设程序中的数据定义如下:LNAMEDB30DUP(?)2ADDRESSDB30DUP(?)CITYDB15DUP(?)CODE_LISTDB1,7,8,3,2(1)用一条MOV指令将LNAME的偏移地址放入AX;(2)用一条指令将CODE_LIST的头两个字节的内容放入SI:(3)写一条伪操作使CODE_LENGTH的值等于CODE_LIST域的实际长度。解:(1)MOVAX,OFFSETLNAME(2)MOVSI,WORDCODE_LIST(3)CODE_LENGTHEQU$-CODE_LIST4.执行下列程序段后,AX、BX的内容各是什么?MOVAX,0001HMOVBX,8000HNEGAXMOVCX,4AA:SHLAX,1RCLBX,1LOOPAAHLT解:AX=0FFF0H,BX=000FH5.阅读以下程序,回答问题DATASEGMENTABCDB90H,12H,43H,56H,04H,01HCOUNTEQU$-ABCRESULTDW?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:PUSHDSMOVAX,DATAMOVDS,AXXORAX,AXMOVCX,COUNTLEASI,ABCLEADI,RESULTAA:MOVBL,[SI]INCSICMPBL,80HJCNEXT1NEGBLNEXT1:ADDAL,BLADCAH,00HLOOPAAMOV[DI],AXMOVAH,4CH3INT21HCODEENDSENDSTART(1)程序完成什么功能?(2)程序中NEGBL指令的作用是什么?(3)程序执行结束后RESULT字单元的内容是什么?(4)能否用MOVSI,OFFSETABC代替程序中LEASI,ABC指令?(5)汇编结束后符号COUNT的值是什么?解:(1)程序完成求一组有符号字节数的绝对值之和。(2)程序中NEGBL指令的作用是求负数的绝对值。(3)程序执行结束后RESULT字单元的内容是0120H。(4)能。(5)汇编结束后符号COUNT的值是06H。6.阅读以下程序,回答问题DSEGSEGMENTARRAYDB34H,56H,23H,70H,96HCOUNTEQU$-ARRAYDSEGENDSSSEGSEGMENTPARASTACK‘STACK’DB256DUP(0)SSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEG,SS:SSEGSTART:MOVAX,DSEGMOVDS,AXMOVSI,OFFSETARRAYMOVCX,COUNTCLDNEXT:LODSBMOVBL,ALANDAL,0F0HPUSHCXMOVCL,4SHRAL,CLORAL,30HCALLDISPMOVAL,BLANDAL,0FHORAL,30HCALLDISPDECCXJCXZDONEMOVAL,2CH;逗号的ASCII码为2CH4CALLDISPJMPNEXTDONE:MOVAH,4CH;终止当前进程,返回调用进程INT21HDISPPROCNEARMOVAH,14;写字符到当前光标位置,光标前进一格INT10HRETDISPENDPCSEGENDSENDSTART(1)程序执行结束后,屏幕上显示的内容是什么?(2)程序中带下划线的指令可以用什么指令替代(仅一条)?(3)程序中空格处应填入什么指令,才能保证程序按要求正常执行?解:(1)程序执行结束后,屏幕上显示的内容是34,56,23,70,96。(2)程序中带下划线的指令可以用LEASI,ARRAY指令替代。(3)程序中空格处应填入POPCX指令,才能保证程序按要求正常执行。7.AX寄存器中存有4位压缩BCD码,试编写程序将这4位数字分开,并分别存入BH、BL、CH和CL寄存器中。解:参考程序段如下:⋯⋯MOVDX,AXMOVCL,04HROLAX,CLANDDX,0F0FHMOVBL,DHMOVCL,DLANDAX,0F0FHMOVBH,ALMOVCH,AH⋯⋯8.已知X、Y是字节型的无符号整数,编写程序计算)3020(,15)200(,8/XXXXY。解:参考程序如下:DATASEGMENTXDB?;运行程序时取X分别位于两个分支YDB?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAL,X5CMPAL,20JNCNEXTMOVCL,03HSHRAL,CLJMPNEXT1NEXT:SUBAL,15NEXT1:MOVY,ALMOVAH,4CHINT21HCODEENDSENDSTART9.编写程序,统计寄存器BX中二进制位“1”的个数,结果存在AL中。解:参考程序如下:CODESEGMENTASSUMECS:CODESTART:MOVAL,00HMOVDX,BXMOVCX,16AA:CMPDX,0JZNEXTSHLDX,1JNCN...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

文库当当响+ 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部