习题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进制数显示在屏幕上.
justhost怎么样?justhost是一家俄罗斯主机商,2006年成立,提供各种主机服务,vps基于kvm,有HDD和SSD硬盘两种,特色是200Mbps不限流量(之前是100Mbps,现在升级为200Mbps)。下面是HDD硬盘的KVM VPS,性价比最高,此外还有SSD硬盘的KVM VPS,价格略高。支持Paypal付款。国内建议选择新西伯利亚或者莫斯科DataLine。支持Paypal付...
CloudCone发布了2021年的闪售活动,提供了几款年付VPS套餐,基于KVM架构,采用Intel® Xeon® Silver 4214 or Xeon® E5s CPU及SSD硬盘组RAID10,最低每年14.02美元起,支持PayPal或者支付宝付款。这是一家成立于2017年的国外VPS主机商,提供VPS和独立服务器租用,数据中心为美国洛杉矶MC机房。下面列出几款年付套餐配置信息。CPU:...
官方网站:点击访问亚洲云官网618活动方案:618特价活动(6.18-6.30)全站首月活动月底结束!地区:浙江高防BGPCPU:至强铂金8270主频7 默频3.61 睿频4.0核心:8核(最高支持64核)内存:8G(最高支持128G)DDR4 3200硬盘:40G系统盘+80G数据盘带宽:上行:20Mbps/下行:1000Mbps防御:100G(可加至300G)防火墙:提供自助 天机盾+金盾 管...
热刺2-1迎新年首胜为你推荐
sns平台SNS平台是什么意思?aspweb服务器ASP是什么?aspweb服务器asp网站挂上服务器,详细步骤cisco2960思科2960如何划分vlan?outlookexpress系统自带的outlook express有什么用?怎么用?sqlserver数据库电脑如何找到sql server数据库支付宝调整还款日蚂蚁借呗怎么设置还款时间www.topit.mehttp://www.topit.me/ 中自己上传的照片如何删除滴滴估值500亿滴滴出行股权项目投资怎么投 100w怎么可以投资不宜人贷官网宜人财富怎么样?
美国虚拟空间 老域名 淘宝抢红包攻略 东莞电信局 plesk idc评测网 699美元 adroit 卡巴斯基免费试用 香港亚马逊 360云服务 yundun 西安服务器托管 什么是web服务器 中国联通宽带测试 网站加速 北京主机托管 好看的空间 密钥索引 winserver2008 更多