全球旧事资料 分类
习题五一、1BAACA6CCDAD二、程序练习题1.根据题目,写出相关伪指令:1定义数据段DATA,并在数据段中定义两个字单元X、Y,初始值都是0答案:DATASEGMENTXDW0YDW0DATAENDS2定义一个字符串SRING,保存’Computer’答案:SRINGDB’Computer’3定义有100个字节单元的COUNT数组,初始值均为空答案:COUNTDB100DUP4用赋值伪指令定义PI为314答案:PIEQU3145用类型操作符LABEL将VALUE单元定义为字节型答案:VALUELABELBYTE2.下列伪指令有错吗?如果有错,请指出错误原因。答案:1X1DB35H080对。2X2DB352601错。260超出了字节范围。3X3DB1234H错。X3是字节型,1234H是字型,不匹配。4X4DW100对。5X5DW100错。缺少DUP。6X6DD‘AB’对。
3.分析下列程序段执行情况,给出结果:(1)答案:Z5221514168(2)答案:累加和TOTAL83(3)答案:功能:将X单元中的十六进制3AH变为十进制入栈保存,AH中为余数。先将0008H入栈,再将0005H入栈,结果为58。三、简答题114(略)5.DOS功能AH1和AH8都是从键盘输入一个字符,它们有什么不同?答:INT21H功能08的输入操作与功能01H相似,不同的是输入字符不回显。使用功能08功能不回显字符,但与01H一样,支持Ctrl_C或Ctrl_Break的中断处理。四、编程题:1求两个数的平均值。这两个数分别存放在X单元和Y单元中,而平均值放在Z单元中。(略)2.将字节变量VARY中两位十六进制数输出。用分支结构实现:MOVDLVARYMOVROLANDCMPJBADDNUMADDMOVINTMOVANDCMPJBCLDLDLDL4CL0FH0AH
NUMDL7DLAH21HDLDLDLNUB30H2VARY0FH0AH
fNUB
ADDADDMOVINTMOVMOVINT
DLDLAH21H
730H2
LOOP1
CMPJAEXCHGINCLOOPMOVINCDECJNZ
ALSINEXTALSISILOOP1BXALBXDXLOOP0
NEXT
DL‘H’AH221H
用循环结构实现:MOVBL,2MOVLOPMOVRORMOVANDCMPJBNUMADDADDMOVINTDECJNZMOVMOVINTDHCLVARY4
4.AX寄存器中存放着4位十六进制数,试编写程序将这4位十六进制数分别转换为相应的ASCII码,并依次存放到RESULT数组的4个字节中去,要求用子程序的方法实现。DATASEGMENTHEXDATADW4D7EHDATACODERESULTENDSDB4DUP
DHCLDLDHDLDLNUM0FH0AH
DL7DL30HAH21HBL2
SEGMENTASSUMECSCODEDSDATASTARTMOVAXDATAMOVMOVLEALEAMOVNEXTMOVANDDSAXCX4SIHEXDATADIRESULTBXSIAXBXAL0FH
LOPDL‘H’AH21H2
3.利用逐次求大数的方法对内存单元ARRAY开始的一字节为单位的无符号数进行从大到小排序。DATASEGMENTARRAYDATACODEDB49386512971355272885ENDSCSCODEDSDATAAXDATADSAXDXr
好听全球资料 返回顶部