习题21.
机器指令分成几部分每部分的作用是什么2.
试根据以下要求,分别写出相应的汇编语言指令:(1)以寄存器BX和SI作为基址变址寻址方式把存储器中的一个字传送到CX寄存器.
(2)以寄存器BX和偏移量VALUE作为寄存器相对寻址方式把存储器的一个字和AX相加,把结果(即和)送回那个字单元中.
(3)将一字节立即数0B6H与符号地址为NUM的存储器字节单元内容相比较.
(4)测试从寄存器BP和DI、偏移量COUNT作为相对基址变址寻址方式寻址的存储器字节单元内容最高位的值,字节单元的内容不能改变(5)将AH寄存器中的高四位和低四位数据互换.
(6)清除以寄存器SI间接寻址的存储器字单元,同时清除CF标志位.
3.
写出实现下列计算的指令序列.
(假定X、Y、Z、W、R都为字变量)(1)Z=W+(Z+X)(2)Z=W(X+6)(R+9)4.
若在数据段中从字节变量TABLE相应的单元开始存放了0~15的平方值,试写出包含有XLAT指令的指令序列查找N(0~15)中的某个数的平方.
(设N的值存放在CL中)5.
写出实现下列计算的指令序列.
(假定X、Y、Z、W、R都为字变量)(1)Z=(W*X)/(R+6)(2)Z=((WX)/5*Y)*26.
假定DX=1100100110111001B,CL=3,CF=1,试确定下列各条指令单独执行后DX的值.
(1)SHRDX,1(2)SHLDL,1(3)SALDH,1(4)SARDX,CL(5)RORDX,CL(6)ROLDL,CL(7)RCRDL,1(8)RCLDX,CL7.
试分析下列程序完成什么功能MOVCL,4SHLDX,CLMOVBL,AHSHLBL,CLSHRBL,CLORDL,BL8.
指出下列MOV指令的源操作数的寻址方式:MOVAX,1234HMOVAX,BXMOVAX,[BX]MOVAX,TABLE;TABLE;TABLE是一个变量名MOVAX,[1234H]MOVAX,[BX+1234H]MOVAX,[BP][SI]MOVAX,[BX+SI-1234H]9.
设:(DS)=2000H,(BX)=0100H,(SS)=1000H,(BP)=0010H,TABLE的物理地址为2000AH,(SI)=0002H.
求下列每条指令源操作数的存储单元地址:MOVAX,[1234H]MOVAX,[BX]MOVAX,TABLE[BX]MOVAX,[BP]MOVAX,[BP][SI]10.
设ARRAY是字数组的首地址,写出将第5个字元素取出送AX寄存器的指令,要求使用以下几种寻址方式:⑴直接寻址⑵寄存器间接寻址⑶寄存器相对寻址⑷基址变址寻址11.
设有以下程序段,求执行完此程序后AX寄存器中的内容:ABCEQU2DATA1DB20HDATA2DW1000HSTART:MOVAX,DATA1+ABC12.
设变量ARRAY中连续存放了字变量NUMBR的偏移地址和段地址,试写出把变量NUMBR装入AX寄存器中的指令序列.
13.
设当前(CS)=2000H,(IP)=2000H,标号NEXT定义在当前代码段偏移地址是0100H处,(DS)=1000H,(BX)=1000H,(11000H)=00H,(11001H)=30H,数据段定义的字变量ARRAY的内容为1000H,试写出下列转移指令的目标转移地址⑴JMPNEARPTR⑵JMPBX⑶JMPWORDPTRARRAY14.
设DS=1000H,BX=2865H,SI=0120H,偏移量D=47A8H,试计算下列各种寻址方式下的有效地址.
(1)使用D的直接寻址.
(2)使用BX的寄存器间接寻址.
(3)使用BX和D的寄存器相对寻址.
(4)使用BX、SI和D的相对基址变址寻址.
15.
指出下列指令的错误原因:(1)MOVAX,CL(2)MOVCS,AX(3)INCBETA[BP](4)MOVES,1850H16.
写出把首址为BLOCK的字数组的第六个字传送到CX寄存器的指令序列,要求分别使用以下几种寻址方式:(l)以BX寄存器的间接寻址.
(2)以BX寄存器的相对寻址.
(3)以BX、SI的基址变址寻址.
17.
指出下列指令的源和目的操作数的寻址方式:(1)MOVARRAY,AX(2)ADCCX,ALPHA[BX[[SI](3)TESTES:[SI],DX(4)SBBSI,[BX]18.
试分析下列程序段,说明完成了什么操作程序执行前后,HEXNUM字节单元的内容是什么ASCNUMDB4lHHEXNUMDBMOVAH,ASCNUMCMPAH,39HJBENEXTSUBAH,7NEXT:SUBAH,30HMOVHEXNUM,AHHLT19.
设当前(CS)=2000H,(IP)=2000H,标号NEXT定义在3000H:1000H处.
当前(DS)=1000H,(BX)=1000H,(11000H)=00H,(11001H)=03H,(11002H)=00H,(11003H)=30H,数据段定义的字变量ARRAY的内容为0300H,(ARRAY+2)=3000H,试写出下列转移指令的目标转移地址:⑴JMPFARPTRNEXT⑵JMPDWORDARRAY20.
MOVCS,AX指令正确吗21.
若正在访问堆栈中03600H单元,则SS和SP的值是多少22.
若(SS)=2000H,(SP)=000AH,先执行将字数据1234H和5678H压入堆栈的操作,再执行弹出一个字数据的操作,试画出堆栈区及SP的内容变化过程示意图(标出存储单元的物理地址).
23.
解释XLAT指令是怎样转换AL寄存器中的内容的.
并编写一段程序用XLAT指令将BCD码0~9转换成对应的ASCII码,并将ASCII码存入数据ARRAY中.
24.
能用ADD指令将BX内容加到ES中去吗25.
INC[BX]指令正确吗26.
若(AX)=0001H,(BX)=0FFFFH,执行ADDAX,BX之后,标志位ZF、SF、CF、OF各是什么27.
写一指令序列完成将AX寄存器的最低4位置1,最高3位清0,第7、8、9位相反,其余位不变.
28.
试写出执行下列指令序列后AX寄存器的内容.
执行前(AX)=1234HMOVCL,7SHLBX,CL29.
假设下列指令中的所有标识符均为类型属性为字的变量,请指出下列指令中哪些是非法的它们的错误是什么⑴MOVBP,AL⑵MOVWORD_OP[BX+4*3][DI],SP⑶MOVWORD_OP1,WORD_OP2⑷MOVAX,WORD_OP1[DX]⑸MOVSAVEWORD,DS⑹MOVSP,SS:DATA_WORD[BX][SI]⑺MOV[BX][SI],2⑻MOVAX,WORD_OP1+WORD_OP2⑼MOVAX,WORD_OP1-WORD_OP2+100⑽MOVWORD_OP1,WORD_OP1-WORD_OP230.
假设VAR1和VAR2为字变量,LAB为标号,试指出下列指令的错误之处:⑴ADDVAR1,VAR2⑵SUBAL,VAR1⑶JMPLAB[SI]⑷JNZVAR1⑸JMPNEARLAB31.
画图说明下列语句所分配的存储空间及初始化的数据值.
⑴BYTE_VARDB'BYTE',12,-12H,3DUP(0,,2DUP(1,2),)⑵WORD_VARDW5DUP(0,1,2),,-5,,'BY','TE',256H32.
试列举各种方法,使汇编程序把5150H存入一个存储器字中(例如:DW5150H).
33.
假设程序中的数据定义如下:PARTNODWPNAMEDB16DUP()COUNTDDPLENTHEQU$-PARTNO问PLENTH的值为多少它表示什么意义34.
有符号定义语句如下:BUFFDB1,2,3,'123'EBUFFDB0LEQUEBUFF-BUFF问L的值是多少35.
假设程序中的数据定义如下:LNAMEDB30DUP()ADDRESSDB30DUP()CITYDB15DUP()CODE-LISTDB1,7,8,3,2⑴用一条MOV指令将LNAME的偏移地址放入AX.
⑵用一条指令将CODE_LIST的头两个字节的内容放入SI.
⑶写一条伪操作使CODE_LENGHT的值等于CODE_LIST域的实际长度.
36.
试写出一个完整的数据段DATA_SEG,它把整数5赋予一个字节,并把整数-1,0,2,5和4放在10字数组DATA_LIST的头5个单元中.
然后,写出完整的代码段,其功能为:把DATA_LIST中头5个数中的最大值和最小值分别存入MAX和MIN单元中.
37.
给出等值语句如下:ALPHAEQU100BETAEQU25GAMMAEQU2下列表达式的值是多少⑴ALPHA*100+BETA⑵ALPHAMODGAMMA+BETA⑶(ALPHA+2)*BETA-2⑷(BETA/3)MOD5⑸(ALPHA+3)*(BETAMODGAMMA)⑹ALPHAGEGAMMA⑺BETAAND7⑻GAMMAOR338.
对于下面的数据定义,三条MOV指令分别汇编成什么(可用立即数方式表示)TABLEADW10DUP()TABLEBDB10DUP()TABLECDB'1234'MOVAX,LENGTHTABLEAMOVBL,LENGTHTABLEBMOVCL,LENGTHTABLEC39.
对于下面的数据定义,各条MOV指令单独执行后,有关寄存器的内容是什么FLDBDBTABLEADW20DUP()TABLEBDB'ABCD'⑴MOVAX,TYPEFLDB⑵MOVAX,TYPETABLEA⑶MOVCX,LENGTHTABLEA⑷MOVDX,SIZETABLEA⑸MOVCX,LENGTHTABLEB40.
已知SS=0FFA0H,SP=00B0H,先执行两条把8057H和0F79H分别进栈的PUSH指令,再执行一条POP指令,试画出堆栈区和SP内容变化的过程示意图.
(标出存储单元的地址)41.
试分析下列程序段:ADDAX,BXJNCL2SUBAX,BXJNCL3JMPSHORTL5如果AX、BX的内容给定如下:AXBX(1)14C6H80DCH(2)B568H54B7H问该程序在上述情况下执行后,程序转向何处42.
下列语句在存储器中分别为变量分配多少字节空间并画出存储空间的分配图.
VAR1DB10,2VAR2DW5DUP(),0VAR3DB'HOWAREYOU','$'VAR4DD-1,1,043.
假定VAR1和VAR2为字变量,LAB为标号,试指出下列指令的错误之处.
(1)ADDVAR1,VAR2(2)SUBAL,VAR1(3)JMPLAB[SI](4)JNZVAR144.
对于下面的符号定义,指出下列指令的错误.
A1DBA2DB10K1EQU1024(1)MOVK1,AX(2)MOVA1,AX(3)CMPA1,A2(4)K1EQU204845.
测试ALPHA字节变量单元中的ASCII码字符,进行如下操作:(1)若为数字字符,送入NUM字节单元中,置标记FLAG为0.
(2)若为大写字母字符,送入BIGCHR字节单元中,置标记FLAG为0.
(3)若为小写字母字符,送入SMMHR字节单元中,置标记FLAC为0.
(4)否则,置标记FLAG为1.
画出程序功能流程图并编写出程序段.
46.
设在变量单元A、B和C中存放有三个数,若三个数都不为0,则求出三个数之和存入D中;若有一个为0,则将其它两个单元也清零,请编写此程序段.
47.
试编写一段程序,要求比较数组ARRAY中的三个16位有符号数.
根据比较结果,置FLAG标志,并画出程序功能流程图.
(1)如果三个数都不相等,则FLAG为零.
(2)如果三个数有两个相等,则FLAG为1.
(3)如果三个数全相等,则FLAG为2.
48.
已知在以BUF1为首址的数据区存放了N个字节数据,编制程序完成将数据块搬家至BUF2为首址的存储区中,要求:(1)用一般数据传送指令MOV实现;(2)用数据串传送指令MOVSB实现;(3)用数据串指令LODSB/STOSB实现.
49.
已知有256个字节整数al,a2,a3,…,an存放在以NUMBER为首址的数据区中.
编一程序将其中的负数去除后,将剩下的正数重新顺序存放在以PLUS开始的数据区中.
50.
定义一数组GRADE存放有100个学生某门功课的考试成绩,要求编一程序,统计各分数段的人数.
即要求统计0-11分,80-89分,70-79分,60-69分以及60分以下各有多少人.
51.
请画出将一字节二进制数据转化成十六进制数并显示的流程图.
52.
编写一个菜单选择处理程序.
53.
编写一子程序实现从某字数组中选出最大值.
54.
编写在屏幕上显示字符串'THISISTEXTDISPLAYPROGRAM.
'的程序.
55.
试编程序,统计由40000H开始的16K个单元中所存放的字符"A"的个数,并将结果存放在DX中.
56.
编写程序,接收从键盘输入的10个十进制数字,输入中遇见回车符则停止输入,经过各个数加6处理,以16进制数显示在屏幕上.
今天父亲节我们有没有陪伴家人一起吃个饭,还是打个电话问候一下。前一段时间同学将网站账户给我说可以有空更新点信息确保他在没有时间的时候还能保持网站有一定的更新内容。不过,他这个网站之前采用的主题也不知道来源哪里,总之各种不合适,文件中很多都是他多年来手工修改的主题拼接的,并非完全适应WordPress已有的函数,有些函数还不兼容最新的PHP版本,于是每次出现问题都要去排查。于是和他商量后,就抽时间把...
HostKvm是一家成立于2013年的国外主机服务商,主要提供基于KVM架构的VPS主机,可选数据中心包括日本、新加坡、韩国、美国、中国香港等多个地区机房,均为国内直连或优化线路,延迟较低,适合建站或者远程办公等。目前商家发布了夏季特别促销活动,针对香港国际/韩国机房VPS主机提供7折优惠码,其他机房全场8折,优惠后2GB内存套餐月付5.95美元起。下面分别列出几款主机套餐配置信息。套餐:韩国KR...
昨天有分享到"2021年Vultr新用户福利注册账户赠送50美元"文章,居然还有网友曾经没有注册过他家的账户,薅过他们家的羊毛。通过一阵折腾居然能注册到账户,但是对于如何开通云服务器稍微有点不对劲,对于新人来说确实有点疑惑。因为Vultr采用的是预付费充值方式,会在每月的一号扣费,当然我们账户需要存留余额或者我们采用自动扣费支付模式。把笔记中以前的文章推送给网友查看,他居然告诉我界面不同,看的不对...
热刺2-1迎新年首胜为你推荐
温州商标注册温州商标注册?免费代理加盟免费加盟代销怎么回事,能具体介绍下么如何发帖子怎么发表贴子?什么是seo学习SEO的好处是什么?最土团购程序你好,请问你有团购网的程序吗站点管理站点名称是什么意思开源网店国内开源网店系统哪款好一键备份请问一下,一键备份以后是怎么回事?ftp帐号我想问怎么查看FTP帐号和密码在线网页代理浏览IE在线代理设置
台湾主机 二级域名查询 北京租服务器 景安vps 汉邦高科域名申请 域名解析服务器 2019年感恩节 狗爹 私服服务器 国外bt http500内部服务器错误 青果网 最好看的qq空间 电信虚拟主机 国外视频网站有哪些 网站加速软件 阿里云免费邮箱 双线空间 测试网速命令 windows2008 更多