《汇编语言程序设计》期末复习题
2008秋季
现有AX2000HBX1200HSI0002HDI0003HDS3000H1SS3000HSP0000H31200H50H31201H02H31202H0F7H31203H90H请写出下列各条指令独立执行完后有关寄存器及存储单元的内容若该指令影响条件码则请给出条件码SFZFOFCF的值1ADDAX1200H2SUBAXBX3MOVBXAX4PUSHAX5DECBYTEPTR1200H6NEGWORDPTR1200H7SARBYTEPTR1200SI18ROLBYTERTRBXSI119MULWORDPTRBXSI10DVIBYTEPTR1200DI2CS3000HDS4000HES2000HSS5000HAX2060H假设BX3000HCX0005HDX0SI2060HDI3000H43000H0A006H23000H0B116H33000H0F802H25060H00B0HSP0FFFEHCF1DF1请写出下列各条指令独立执行完后有关寄存器及存储单元的内容若该指令影响条件码请给出条件码SFZFOFCF的值1SBBAXBX2CMPAXWORDPTRSI0FA0H3MULBYTEPTRBX4AAM5DIVBH6SARAXCL7XORAX0FFE7H8REPSTOSB9JMPWORDPTRBX10XCHGAXESBXSI3判断下列指令是否正确1POPCS2PUSHWORDPTR20BXSI23LEABX4BX4JMPBYTEPTRBX5SARAX56MOVBYTEPTRBX10007CMPDISI
汇编语言程序设计第1页共5页
f8ADDBXOFFSETA9INALDX10MUL254填空1一个有16个字的数据区它的起始地址为70A0DDF6那么该数据区的最后一个字单元物理地址为H2假设SS2250HSP0140H如果在堆栈中存入5个数据则栈顶的物理地址为H如果又从堆栈中取出3个数据则栈顶的物理地址为H3在subaxbx指令执行后CF1说明a最高有效位b对数操作结果猜出4某程序的数据段定义如下DATASGSEGMENTPARTLISTDBPARTDB60DBPRICEDW0125DBDESCRIPTIONDBRADIOLISTLENGEQU数组长度用表达式表示DATASGENDS某程序设计数据区如下如下5某程序设计数据区如下ORG100HNAMESDBTOM20DBROSE25DBKATE221列出该数据区的LIST清单即各字节单元的存储情况2下列各组指令若为合法指令请写出执行后的结果若为非法指令请指出其错误aMOVBXOFFSETNAMESMOVAXBX5bMOVBXOFFSETNAMES11CMPBXBYTEPTRNAMES5cMOVBX62MOVSI5MOVDIOFFSETBXSIINCDIdMOVSI5LEADINAMES6SI
汇编语言程序设计第2页共5页
fMOV
ALDI
6编程1定义宏指令BIGER把字变量X和Y中较大者存入BIG若X和Y相等时则把其中之一存入BIG2宏指令DISP完成根据不同的功能码269分别产生显示单字符或字符串的程序段并调用DISP20DHDISP20AHDISP9STRING3定义宏指令PRINTBK利用DOS调用完成打印机连续打印一串字符r