华中科技大学汇编语言程序设计试卷
华中科技大学80X86汇编语言程序的设计试卷

1. SHR BH, 82. ADD [BX], -53. LEA POINT, BUF4. IN DX, 2005. PUSH DH6. MUL 257. XLAT BX, TAB8. REPNZ MOVSW9. MOV AX, 2[SI][DI] 10. MOV [BX], [SI]班级 ________________ 姓名 ______________ 号 _______________ 成绩 _______、改错题(10分,每题1分,在错误处划线,线下写上正确答案)二、单选题(20分,每题1分) 1 . MOV 指令的特点是 。
A .影响DFB .影响SFC .影响CFD .不影响标志位2 .使用寄存器间接寻址万式访问堆栈中呆变量时 ,要选用寄存器。
A . BXB . BPC . SID . SP3 . 8086标志寄存器中的三个控制标志是 __________ A . IF 、PF 、SF B . DF 、OF 、CF C .DF 、IF 、TF D . TF 、AF 、IF 4 .若有符号数运算的结果溢出,则置 ________ 为1。
A .OFB . CFC . SFD . IF5 .若某存贮器操作数的偏移地址在 SI 中,访问该操作数应采用 _________ 址方式。
A .立即B .寄存器C .寄存器冋址D . 直接6 .串操作指令中, 目的串的逻辑地址应为 OA . DS : [SI]B . DS : [DI]C . ES: [DI]D . ES: [SI]7 . 不在本模块定义而在本模块中引用的符号称 符号。
A .公共B .局部C .自定义D . 外部8 . 若(CL ) = 4 , (AX ) =0FF0FH ,执行语句 ROR AX , CL”后,(AX ) =A . 0FFFFHB . 0FFF0HC . 0F0FFHD . 0FFFH 9 .已知AL 中存放着一个压缩 BCD 码,为实现 AL 减1操作,应选用指令序列A . DEC ALB . SBB AL , 0C . SUB AL , 1D . SUB AL , 1AASDAS AASDAS10 .要将BL 中的8位数据送到 1234H 端口号的外部设备中去 ,应选用 指令序列。
华科2013年C语言程序设计试卷-A卷及参考答案(正式用卷)

计算机学院2012-2013学年第2学期C语言程序设计考试试卷A卷(或B卷): A卷闭卷(或开卷):闭卷考试时间:2013年 7 月 5 日专业班级学号学生姓名题号一二三四五六七总分核对人题分10 10 10 10 20 20 20 100得分注意:试卷后面附有运算符的优先级和结合性表。
一、单项选择题(在下面每小题的A、B、C、D四个选项中,只有一个选项得分评卷人是正确的,请选择正确的选项并填写到括号内,选择正确得分。
本大题共10小题,每小题1分,共10分。
)1、以下为正确的标识符是【】A、forB、u.3C、3cD、DO2、以下为合法的整型常量是【】A、-1UB、01111001BC、ffffD、01383、下列数据中属于字符串常量的是【】A、'a'B、"a"b"c"C、'123'D、"a\"b\"c"4、表达式-a+++b中记号(token)的个数是【】A、3个B、4个C、5个D、6个5、 -3的16位补码是【】A、0xfffdB、0x1011C、0x7ffdD、0x00036、以下为正确的转义字符是【】A、'\'B、'\\'C、'\0x12'D、'\0f1'7、设有声明:enum {U,V,W=0,X,Y=0,Z} a; 则值为1的枚举常量的个数是【】A、1个B、2个C、3个D、4个8、设有声明: 【】union U{ long a; short b; char c; char s[20];} v={0x01020304},*p=&v;则下列选项正确的是A、printf("%d\n",sizeof(v))输出4B、printf("%d\n",p->s[0])输出4C、printf("%d\n",v.c)输出1D、printf("%x\n",v.b)输出1029、设有声明和语句:FILE *fp; fp=fopen("c:\\abc.dat","r+"); 【】则下列选项正确的是A、打开文件的文件名为\abc.datB、打开的是二进制文件C、打开的是文本文件D、打开的文件只能进行读操作10、设有如下代码片段:【】int a[]={1,2,3,4,5},i;char *p=(char *)a;for(i=0;i<3;i++)printf("%d ",*((p+=sizeof(int))-sizeof(int)));printf("\n");则该代码片段的输出结果是A、1 2 3 4 5B、1 2 3C、1 1 1D、2 3 4二、 多项选择题(下面每小题的A 、B 、C 、D 备选项中,有两个或两个以上的选项是正确的,请选择正确的选项并填写到括号内。
汇编语言程序设计

03《汇编语言程序设计》(总20页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--《汇编语言程序设计》习题答案一、单项选择题(本大题共170小题,每小题2分)1、在汇编语言程序中,对 END 语句的叙述正确的是( C )。
A、END 语句是一可执行语句B、END 语句表示程序执行到此结束C、END 语句表示源程序到此结束D、END 语句在汇编后要产生机器码2、将 DX 的内容除以 2,正确的指令是( C )A、DIV 2B、DIV DX,2C、SAR DX,1D、SHL DX,13、下列数值表达式和地址表达式中,错误的是( D )。
A、MOV AL,8*14+4B、MOV SI,OFFSET BUF+13C、MOV CX,NUM2-NUM1D、MOV CX,NUM2+NUM14、用来存放下一条将要执行的指令地址的寄存器是 ( B )A、SPB、IPC、BPD、CS5、要使串处理从低地址向高地址进行,应把标志位置为 ( D )A、IF=1B、TF=0C、DF=1D、DF=06、设SS=2050H,SP=0140H,则栈顶存贮单元的物理地址是( A )A、20640HB、2063EHC、2063FHD、21900H7、十进制数269变换为十六进制数是( C )。
A、10BB、10CC、10DD、10E8、8位的微型计算机系统是以16位来表示地址,则该微机系统有( C )个地址空间。
A、255B、65535C、65536D、10485769、8位有符号二进制数能表示的最大十进制数是( D )。
A、256B、255C、128D、12710、十六进制数88H,可表示成下面几种形式,请找出错误的表示( D )。
A、无符号十进制数136B、带符号十进制数-120C、压缩型BCD十进制数88D、8位二进制数-8的补码表示11、有一个数值152,它与十六进制数6A相等,那么该数值是( B )。
【汇编语言程序设计】期末考试试卷及参考答案

中
ADC? AH,0?
JNC? DONE
(2)MOV?AX,SUM ; 总和值超过 AX 寄存器的容量,恢复 AX 的原
值
JC? EXIT
DONE:INC?BX
(3)LOOP NEXT ; 将计数器 CX 减 1,并判断是否继续下一次循环
EXIT:HLT
2. BUFFER 为起始地址的存储区域中存放有 100 个字节数据,现将其首、尾 颠倒过来,重新排放这 100 个字节数据。请在程序中的空格处填入适当 的指令使其完整。 MOV? CX,32H ;循环 50 次
BLOCK? DW?X1,X2,…,XN COUNT? EQU ($-BLOCK)/2
RESULT?DW? COUNT,?
LEA?BX,BLOCK-2
MOV?CX,RESULT
XOR?AX,AX
GO_ON:ADD?BX,2
CMP?AX,[BX]
JAE?NEXT
MOV?AX,[BX]
NEXT: LOOP?GO_ON
即举手报告以便更换。 2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。
一、单项选择题(每小题 2 分,共 20 分)
1.一个有 128 个字的数据区,它的起始地址为 12ABH:00ABH,请给出这个数
据区第一个字单元的物理地址是( A )。
A.12B5BH ;
B.12B6BH ;
C.12C59H;
二、指出下列指令的出错原因,并改正。(每小题 2 分,共 12 分)
1. MOV BX,DL;操作数类型不匹配,改正为:MOV BL,DL 或 MOV BX,DX
2. MOV CS,AX;代码段寄存器 CS 不能作目的操作数,改正为 MOV DS,AX
汇编语言程序设计期末考试试卷及参考答案

【汇编语言程序设计】期末考试-试卷及参考答案执行上述两条指令后,正确的结果是( B )。
A.(AX)=1001H; B.(AX)=0FFFH;C.(AX)=1000H; D.(AX)=0111H。
6.串指令中的目的操作数地址一定是由____A_ _提供。
()A.ES:[DI] ; B.SS:[BP];C.DS:[SI] ; D.CS:[IP]。
7.将DX的内容除以2,正确的指令是( C )。
A.DIV? 2 ;B.DIV ? DX,2 ;C.SAR? DX,1;D.SHL? DX,1。
8. 用户为了解决自己的问题,用汇编语言所编写的程序,称为( B )。
A.目标程序; B.汇编语言源程序;C.可执行程序; D.汇编程序。
9.用一条指令仅实现将AX←BX+SI的方法是( D )。
A.XCHG AX,[BX][SI] ;B.MOV AX,[BX+SI];C.LEA AX,BX[SI] ;D.LEA AX,[BX][SI]。
10.设SP初值为2000H,执行指令“PUSH AX”后,SP的值是( C )。
A.1FFFH; B.1998H;C.1FFEH; D.2002H。
2. C二、指出下列指令的出错原因,并改正。
(每小题2分,共12分)1.MOV BX,DL;操作数类型不匹配,改正为:MOV BL,DL 或MOV BX,DX2.MOV CS,AX;代码段寄存器CS不能作目的操作数,改正为MOV DS,AX3.ADD AX,DS;段寄存器DS的内容不能作为加法指令的操作数,改正为MOV BX,DSADD AX,BX4.TEST BX,[CX];不能使用CX实现寄存器间接寻址,改正为MOV SI,CXTEST BX,[SI]5.SUB [BX],[BP+SI];两个操作数不能同为存储器操作数,且两个操作数的数据类型不确定,改正为:MOV AX,[BX]SUB AX,[BP+SI]或:MOV AL,[BX]SUB AL,[BP+SI]6.SHL DX ;没有给出移位次数,改正为SHL DX,1或 SHL DX,CL三、程序填空题(注意:每空只能填一条指令,并注释说明所填指令的作用!每空3分,共18分)1.在表TABLE处存放着N个无符号字节数,求表中前10个字节数的总和并保存在AX寄存器中。
2022年汇编语言程序设计期末考试题

2022年汇编语言程序设计期末考试题一、单项选择题(本大题共10小题,每小题3分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.CPU要访问的某一存储单元的实际地址称(C)A.段地址B.偏移地址C.物理地址D.逻辑地址2.某存储单元的物理地址是12345H,可以作为它的段地址有(D)A.2345HB.12345HC.12340HD.1234H3.执行后使B某=0的同时也使CF=0,OF=0的指令是(A)A.某ORB某,B某B.ORB某,B某C.ANDB某,B某D.CMPB某,B某4.循环控制指令LoopNZ/LoopNE控制循环继续执行的条件是(B)A.C某≠0且ZF=1B.C某≠0且ZF=0C.C某≠0或ZF=1D.C某≠0或ZF=05.在执行DAA指令,当高四位BCD码校正时产生进位,如要把此进位值送入AH中,对这进位值的操作应是(C)A.DAA校正指令的功能已自动加在AH中B.进位值在AF中,校正后根据AF内容再加在AH中C.进位值在CF中,校正后根据CF内容再加在AH中D.进位值在AL最高位上,校正后根据AL最高位内容再加在AH中6.AND,OR,某OR,NOT为四条逻辑运算指令,下面的解释正确的是(C)A.指令某ORA某,A某执行后,A某内容不变,但设置了标志位B.指令ORD某,1000H执行后,将D某最高位置1,其余各位置0C.指令ANDA某,OFH执行后,分离出AL低四位D.NOTA某,执行后,将A某清07.在执行下列指令时,需要使用段寄存器DS的指令是(D)A.STOSWB.ADDAL,CLC.NEGB某D.INCDA[B某]8.无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指令是(B)A.ADDBH,01HB.ORBH,01HC.某ORBH,01HD.TESTBH,01H9.比较两个带符号的数A、B,当A=B时程序转移,测试的条件为(A)A.ZF=1B.ZF=0C.SF=1D.SF=010.下面各传送指令中,正确的是(C)12.要实现使BETA的值为56,应采用语句为(C)A.BETADB56B.BETADB56HC.BETAEQU56D.BETAEQU56H13.REPZCMPSW指令,重复执行的终止条件是(A)A.C某=0或ZF=0B.C某=0且ZF=0C.C某=0或ZF=1D.C某=0且ZF=1214.下面程序段执行后,AL中的内容是(B)MOVA某,8833HADDAL,AHDAAA.21B.21HC.0C1HD.0DDH15.比较两个带符号的数A、B,当A=B时程序转移,测试的条件为(A)A.ZF=1B.ZF=0C.SF=1D.SF=016.检查二个无符号数的关系,若要实现AL≥BL时分支去LOP1处,那么在“CMPAL,BL”指令后应跟的分支指令是(C)A.JNCLOP1B.JALOP1C.JCLOP1D.JGELOP117.在下列串操作指令中,同时使用源串和目的串地址指针的指令是(D)A.STOSWB.LODSWC.SCASWD.CMPSW18.设AL=0AH,下列指令执行后能使AL=05H的是(C)A.NOTALB.ANDAL,0FHC.某ORAL,0FHD.ORAL,0FH19.DA1DWAB,CD,EF,GH(D)┇MOVA某,DA1+3指令执行后A某中的内容是A.EFB.CDC.BCD.FC20.使用DOS系统功能调用时,使用的软中断指令是(B)A.INT21B.INT10HC.NT16HD.INT21H3二、简答题(每题10分,共30分)1.简述循环程序常用的控制方法。
【汇编语言程序设计】期末考试-试卷及参考答案

JC?EXIT
DONE:INC?BX
(3)LOOPNEXT;将计数器 CX 减 1,并判断是否继续下一次循环
EXIT:HLT
2.BUFFER 为起始地址的存储区域中存放有 100 个字节数据,现将其首、尾颠倒过来, 重新排放这 100 个字节数据。请在程序中的空格处填入适当的指令使其完整。 MOV?CX,32H;循环 50 次
letterDB26DUP(?) countEQU$-letter
dataENDS codeSEGMENT ASSUMEcs:code,da:data start:movax,data
movds,ax movcx,count leasi,letter moval,‘A’ next:mov[si],al
movah,9;9 号功能调用显示提示信息
int21h
华中科技大学汇编语言程序设计试卷

华中科技大学计算机科学与技术二学位班级学号姓名一、单项选择填空:(共10 分,每小题1 分)(1) 指令“MOV AX, ES:[BP]”中的源操作数在当前_________中。
A. 数据段B. 附加数据段C. 堆栈段D. 代码段(2) 将AL中的无符号数压入堆栈,下面的方法不正确的是_________。
(A) CBWPUSH AX(B) MOV AH,0PUSH AX(C) MOVZX AX, ALPUSH AX(D) XOR AH, AHPUSH AX(3) 只有寄存器_________能作基址和变址寄存器。
(A) AX、BX、CX、DX(B) SI、DI、BP、SP(C) BX、SI、DI、BP(D) AX、CX、SI、DI(4) 两负数相加,结果为正,则标志位_________均为1.(A) ZF、SF、CF、DF(B) ZF、CF、DF(C) SF、CF、OF(D) CF、OF(5) 指令"ADD [BX], 2"的错误原因为________.(A) 源操作数和目的操作数不能同时为存贮器操作数.(B) 两个操作数类型模糊(C) 源操作数不能为立即方式(D) BX不能用于寄存器间接方式(6) 已知源操作数在堆栈段,语句“MOV AX,[BP+BX]存在语法错误,现改正为以下四种形式,但只有________是正确的。
(A) MOV AX,SS:[BP+BX](B) MOV WORD PTR [DI],[BP](C) MOV AX,SS:[BX+SI](D) MOV AX,[BX+DI](7) 设V AR 为字变量, A为符号常量,下面四个语句中有一个错误的,这个错误语句是________.(A) MOV V AR , A (B) MOV AX , V AR(C) MOV A , AX (D) MOV AX, A(8) 在使用除法指令作字除法时,被除数应放在寄存器________中。
汇编语言程序设计试卷

汇编语言程序设计试卷一. (共75 题,共150 分)1.下列说法错误的是。
(2 分)A.机器指令的形式包含操作码和地址码B.计算机只能够识别规定好的机器指令C.不同计算机系统之间的机器指令能够相互兼容D.汇编语言的主要操作和机器指令基本上一一对应★检查答案标准答案:C2.两个有符号数相减,通过标志位判断结果是否溢出。
(2 分)A.ZFB.CFC.SFD.OF★检查答案标准答案:D(2 分)3.汇编语言和高级语言的比较,下列说法错误的是A.汇编语言和高级语言都不能被机器直接识别B.完成同样的功能,汇编语言占据空间小C.高级语言可以使用变量,但汇编语言不行D.汇编语言中有类似于高级语言的宏功能★检查答案标准答案:C4.下列寄存器中,哪个寄存器不能供汇编程序直接访问. (2 分)A.SPB.BPC.CSD.IP★检查答案标准答案:D5.下列寄存器,哪个不能作基址寄存器。
(2 分)A.BXB.BPC.SID.ESI★检查答案标准答案:C6.设有关寄存器及存储单元的内容如下:则指令MOV AX, 1100H[BX][SI] 执行完毕后,AX 寄存器中的值是。
(2 分)A.65B7HB.3412HC.4C2AHD.7856H★检查答案标准答案:AA.可以作立即寻址的操作数B.也可作某些存贮器操作数的的位移量组成部分C.在数据定义伪指令语句中给变量赋初值D.可以作目的操作数★检查答案标准答案:D8.若(ECX)=0ABCD1234H(BL)=0E3H,则语句MOVSX ECX,BL执行后:(ECX)的值为。
(2 分)A.0ABCD1234HB.0FFFFFFE3HC.000000E3HD.0ABCD12E3H★检查答案标准答案:B(2 分)9.若(AX)=0FFFDH ,则语句ADD AX,7FFFH 执行后,下列说法正确的是。
A.(AX) =7FFCH,(OF)=1 ,(CF)=1B.(AX) =17FFCH ,(OF)=1 ,(CF)=1C.(AX)=7FFCH,(OF)=0 ,(CF)=1 D.(AX)=17FFCH ,(OF)=0 ,(CF)=1★检查答案标准答案:C10.在语句INC SS:[BX] 中,操作数使用的段寄存器是。
华中科技大学汇编语言程序设计试卷

华中科技大学计算机科学与技术二学位《80X86汇编语言程序设计》试卷样例考试时间:2011年7月2日(第19周周六)下午14:30-17:00考试地点:西十二教学楼(S402-0904,S403-0905,S404-0906)班级学号姓名(AH)评卷人得分10 一、单项选择填空:(共分,每小题1 分)(B)中的源操作数在当前_________中。
”“MOV AX, ES:[BP] 指令(1)C. 堆栈段D. 代码段 A. 数据段B. 附加数据段_________。
(A) AL(2) 将中的无符号数压入堆栈,下面的方法不正确的是CBW (A)PUSH AXMOV AH,0(B)PUSH AXMOVZX AX, AL (C)AX PUSHAH, AH XOR (D)PUSH AX(C) 能作基址和变址寄存器。
(3) 只有寄存器_________ DX 、、(A) AXBX、CXSP (B) 、、、DIBP SI SIBX 、、、BP DI(C)SICXAX(D) 、、、DI1.(D) ,均为则标志位_________结果为正两负数相加(4) , CFSF、ZF、DF 、(A)DF (B) 、CFZF、(C) CF、SF、OF1 / 11(D) CF、OF(5) 指令??嬠塂?㈠的错误原因为________.(B)(A) 源操作数和目的操作数不能同时为存贮器操作数.(B) 两个操作数类型模糊(C) 源操作数不能为立即方式(D) BX不能用于寄存器间接方式(6) 已知源操作数在堆栈段,语句“MOV AX,[BP+BX]存在语法错误,现改正为以下四种形式,但只有________是正确的。
(C)(A) MOV AX,SS:[BP+BX](B) MOV WORD PTR [DI],[BP](C) MOV AX,SS:[BX+SI] (当基址寄存器BR=BX时,系统默认操作数在DS中)(D) MOV AX,[BX+DI] (当基址寄存器BR=BP时,系统默认操作数在SS中)(7) 设V AR 为字变量, A为符号常量,下面四个语句中有一个错误的,这个错误语句是________.(C)(A) MOV V AR , A (B) MOV AX , VAR(C) MOV A , AX (D) MOV AX, A(8) 在使用除法指令作字除法时,被除数应放在寄存器________中。
华中科技大学计算机科学与技术学院计本15级C语言程序设计试卷A卷

华中科技大学计算机科学与技术学院C 语言程序设计试卷A 卷(专业:计本15级,信安15级 考核方式:闭卷 考试时间:2016年6月23日)专业班级 学号 姓名一、 单项选择题(在下面每小题的A 、B 、C 、D 四个选项中,只有一个选项是正确的,请选择正确的选项并填写到括号内,选择正确得分。
本大题共10小题,每小题1分,共10分。
)1、选择TC 中Run 菜单下的Run 选项和Break/watch 菜单下的Add watch 【 】 选项的快捷键分别是:A 、 Ctrl-F9 和 Ctrl-F7B 、Ctrl-F7 和 Ctrl-F9C 、Ctrl-F4 和 Ctrl-F9D 、Ctrl-F7 和 Ctrl-F4 2、”s ”是 【 】A 、合法标识符B 、C 语言的关键字 C 、合法的字符串D 、既不是C 语言的关键字,也不是合法的字符串或标识符 3、0123456UL 是 【 】A 、字符型常量B 、整型常量C 、浮点型常量D 、非法常量 4、2e20L 是 【 】A 、字符型常量B 、整型常量C 、浮点型常量D 、非法常量 5、下列正确的转义字符是 【 】A 、 '\'B 、 '\108'C 、 '\0x12'D 、 '\0' 6、十进制数252对应的八进制数是 【 】 A 、374 B 、377C 、0374D 、0377 7、设有说明:int x=0xffff ;则执行printf(“%u\n ”,x); 语句的输出是 【 】 A 、-1 B 、0xffff C 、ffff D 、65535 8、与if(E)等价的表达式是 【 】 A 、 if(E==0) B 、 if(E!=0) C 、 if(E>=0) D 、 if(E<=0) 本题第9、第10小题参考下列说明: struct T{ int n; char *s;} x[]={{0,"book"},{1,"tree"},{2,"string"}}; struct T *p=x; 9、表达式*++(p->s)的值是 【 】A 、’b ’B 、’o ’C 、’s ’D 、’t ’ 10、表达式*((p+2)->s)-x[x[1].n].s[x[0].n]的值是 【 】A 、-1B 、0C 、1D 、2二、 多项选择题(下面每小题的A 、B 、C 、D 备选项中,有两个或两个以上的选项是正确的,请选择正确的选项并填写到括号内,多选、少选、错选均不得分。
华中科技大学c程序设计考试题

1.c++系统预定了4个用于标准数据流的对象,下;正确答案:【D】分值:【1】;2.设有说明:charw;intx;floaty;正确答案:【D】分值:【1】;3.下列对析构函数的描述中,正确的是(____);C.析构函数的定义只能在类体内D.析构函数可以有;正确答案:【A】分值:【1】;4.下列定义数组的语句中正确CPP程序设计模拟考试 1--第2套试卷1.c++系统预定了4个用于标准数据流的对象,下列选项中不属于此类对象的是(____) A.cout B.cin C.cerr D.cset正确答案:【D】2.设有说明:char w;int x;float y;double z;则表达式w*x+z-y 值的数据类型为(____) A.float B.char C.int D.double正确答案:【D】分值:【1】3.下列对析构函数的描述中,正确的是(____) A.一个类中只能定义一个析构函数 B.析构函数名与类名不同C.析构函数的定义只能在类体内D.析构函数可以有一个或多个参数正确答案:【A】分值:【1】4.下列定义数组的语句中正确的是(____)A.#define size 10 char str1[size],str2[size+2];B.char str[];C.i nt num['10'];D.int n=5; int a[n][n+2];正确答案:【A】分值:【1】5.关于this指针使用说法正确的是(____)A.保证每个对象拥有自己的数据成员,但共享处理这些数据的代码B.保证基类私有成员在子类中可以被访问。
C.保证基类保护成员在子类中可以被访问。
D.保证基类公有成员在子类中可以被访问。
正确答案:【A】分值:【1】6.所谓多态性是指(____)A.不同的对象调用不同名称的函数B.不同的对象调用相同名称的函数C.一个对象调用不同名称的函数D.一个对象调用不同名称的对象正确答案:【B】分值:【1】7.派生类构造函数的执行顺序是先执行________ 的构造函数,然后执行成员对象的构造函数,最后执行________ 的构造函数。
2020年华中科技大学C语言程序设计试卷

华中科技大学计算机类(Ⅱ)2020~2021学年第一学期“ C 语言程序设计 ”考试试卷(A 卷)考试方式: 闭卷 考试日期: _2021年1月5日_ 考试时长: __150__ 分钟专业班级:______________ 学 号:______________ 姓 名:______________ 题号 一 二 三 四 五 六 七 八 九 十 总分 分数注意:试卷后面附有运算符的优先级和结合性表。
试卷所有问题都假设基于32位的系统。
一、 单项选择题(在下面每小题的A 、B 、C 、D 四个选项中,只有一个选项是正确的,请选择正确的选项并填写到括号内,选择正确得分。
本大题共16小题,每小题1分,共16分。
)1、下列各组标识符正确的是:【 】A 、 x_a , 1_aB 、π, tC 、a.c, ND 、China, _1A2、设main 函数的函数原型为:int main(int m, char *v[ ]); 如果命令行是:I am in a quiz ,则以下说法错误的是:【 】A 、 m=5B 、v [1][1] = ‘m’;C 、v[3]指向“a ”D 、函数形参名错误3、如果当t 为奇数时表达式的值为“真”,t 为偶数时表达式的值为“假”。
则以下不能满足上述条件的表达式是 【 】A 、t%2==1B 、!(t%2)C 、!(t%2==0)D 、t%24、设有声明:int i=2, j=3;那么执行语句: i >= j &&--i || j++;之后,变量i 和j 的值分别为 。
【 】A 、2,3B 、1,4C 、2,4D 、1,35、以下程序片段中,while 循环体执行的次数是 。
【 】int i=10, j=0; while(i>j) { i--; j++; if(i=j) break; };A 、0B 、1C 、 5D 、死循环 6、以下表达式的值为“假”的是:【 】A 、sizeof (‘A’)==4B 、-2>1uC 、!(0xffff) == 0;D 、('\x20'<<4)>>4 == 07、以下正确的声明语句是:【 】A 、int a[10], p=a;B 、int a[10][20], (*p)[10]=a;C 、int a[5][6], *p[6]=a;D 、int a[1][2], (*p)[2]=a;分 数评卷人解答内容不得超过装订线8、设字符数组char a[] = “123\ta\\bc”,则表达式sizeof(a)的值为:【】A、1B、9C、10D、49、在C语言中,如果按照数据存储的格式划分,文件可分为:【】A、程序文件和数据文件B、磁盘文件和设备文件C、二进制文件和文本文件D、顺序文件和磁盘文件10、如果要使用函数scanf("%c,%c,%c",&a,&b,&c) ;语句读入三个字符‘1’、‘2’、‘3’到变量a、b、c中,正确的输入序列是:【】A、123B、1 2 3C、1,2,3D、1、2、311、基于声明:int a[][2]={1,2,3},b[10],c[3][2],d[3][4]; ,下列说法正确的是:【】A、数组a只包含3个元素B、数组b可以用来保存数组d中的所有元素C、数组c中的元素可表示为c[0][0], c[0][1], c[0][2], c[1][0], c[1][1], c[1][2]D、数组d中包含三个一维数组12、设有宏定义:#define putchar(c) fputc(c, stdin),则以下说法错误的是:【】A、宏展开前,fputc(c, stdin)是字符串B、宏展开后,stdin的类型为FILE *C、putchar和c是标识符D、define是关键字13、设有如下类型定义和变量的声明,typedef struct { float x,y; } _point;_point point0 = {1.0,1.0};const _point point1, *p1 = &point1;const _point point2, *const p2 = &point2;则以下各语句中合法的是:【】A、*p1 = point0;B、p1 = &point0;C、*p2 = point0;D、p2 = &point0;14、给定下面的结构定义和声明:struct stu {int num; double score; char name[12];}m, n, *p, *q;,则下列语句中不会产生编译错误的是:【】A、p=m;B、m.score=n.num;C、p.num=10;D、*="Tom";15、按如下方式打开已存在的文件a.dat,不会清除原有内容的语句为:【】A、f=fopen(“a.dat”,“w”);B、f=fopen(“a.dat”,“w+”);C、f=fopen(“a.dat”,“w+b”);D、f=fopen(“a.dat”,“a+”);16、十进制数8和-2在8位机中的补码表示分别为:【】A、0000 1000,1111 1110;B、0000 1000,1000 0010;C、1000 1000,0000 0010;D、1000 1000,0111 1110;二、填空题(本大题共10小题,每小题1分,共10分。
《汇编语言程序设计》考试练习题及答案

《汇编语言程序设计》考试练习题及答案一、单选题1. 计算机中存取信息或数据的最小单位为()A 、位B 、字节C 、字D 、双字答案:B2. 调用子程序的指令为()A 、CALLB 、RETC 、HLTD 、NOP答案:A3. DOS功能调用是通过()指令去调用DOS系统提供的软件中断处理程序A 、INT 21HB 、INT 23HC 、INT 12HD 、INT 11H答案:A4. 满足()时,CPU允许中断A 、IF=0B 、IF=1C 、DF=0D 、DF=1答案:B5. 完成对CL寄存器的内容乘以4的正确操作是()。
A 、ROL CL,1 ROL CL, 1B 、MUL 4C 、SHL CL, 1 SHL CL, 1D 、MOV CL , 2 SHL CL, CL答案:C6. 下面寄存器中可以分为两个独立8位寄存器的是()A 、AXB 、DIC 、CSD 、SI答案:A7. ()是用二进制编码的机器指令的集合及一组使用机器指令的规则,是CPU能直接识别的唯一语言。
A 、汇编语言B 、机器语言C 、JAVA语言D 、C语言答案:B8. 源程序模块结束语句为()A 、ORGB 、ENDC 、SEGMENTD 、START答案:B9. 8位补码表示的有符号数的表示范围是()A 、0~255B 、-128~+127C 、0~65535D 、-32768~+32767答案:B10. 在一段汇编程序中多次调用另一段程序,用宏指令比用子程序实现起来,下列说法正确的是()A 、占内存空间小,但速度慢B 、占内存空间大,但速度快C 、占内存空间相同,但速度快D 、占内存空间相同,但速度慢答案:B11. 与LEABX ,BUF指令完全等效的指令是()。
A 、MOV BX ,BUFB 、LDS BX ,BUFC 、MOV BX ,OFFSET BUFD 、MOV BX ,WORD PTR BUF答案:C12. 14的非压缩BCD码为()A 、00010100B 、01000001C 、0000000000010100D 、0000000100000100答案:D13. 要实现使BETA的值为56,应采用的语句是()A 、BETA DB 56B 、BETA DB 56HC 、BETA EQU 56HD 、BETA EQU 56答案:D14. ()不可以做目的操作数A 、立即数B 、寄存器C 、存储器操作数D 、累加器答案:A15. 计算机一般由中央处理器、存储器和输入/输出子系统组成,其中()可以存放程序、数据、信息及中间结果。
《汇编语言程序设计》期末复习题及答案

汇编语言程序设计》期末复习题及答案一、选择( 30 题)1.下列是 8 位带符号二进制数的补码,其中最大的是( B )。
B、000000012.在一段汇编语言程序中多次调用另一段程序,用宏指令比用子程序实现( C )C、占内存空间大,但速度快3.数据定义为:EE DB 3 , 4CC DW 3456H , 6789H执行指令“ MOV CX WORD PTR EE+1'后,(CX = ( B )B、5604H4.有如下指令序列:MOV AL, 95HMOV CL, 2SAR AL , CL上述指令序列执行后,AL的内容是(D )D、0E5H5. 设A=186io, B=273s, C=0B^,把这三个数看成无符号数,则它们之间的关系是(D )D、 A<B=C6. 用一条指令实现寄存器 BX和SI的内容相加,并将结果送入AX中,这条指令是(D )D、LEA AX, [BX][SI]7 .要从端口 1234H中读入8位数据,其指令应是( C )C、MOV DX, 1234HIN AL , DX&循环控制指令 LOOPNZ/LOOPNE续执行循环的条件是(B )B、CX^ 0 且 ZF=09. 8088/8086 存储器分段,每个段不超过( D )D、64K 个字节10.表示过程定义结束的伪指令是( A )A、ENDP11 .用来存放下一条将要执行的指令代码段地址的段寄存器是( D )D 、CS12 .假定(SS) =1000H, (SP) =0100H, (AX)=5609H,执行指令 PUSH AX 后,存放数据56H 的物理地址是( D )D、100FFH13.执行“ SUB AX, [BP][DI] ”指令,取源操作数时,使用的物理地址表达式是( A )A、16*SS+BP+DI14 .设AX中有一带符号数 8520H,执行“ SAR AX, 1”指令后,AX中的值是(C )C、0C290H15 .设(BX =1234H,( DS =2000H, ( 21234H) =5678H,则指令“ LEA SI,[BX] ” 执行后的结果是:( B )B、SI=1234H16 .测试BL中的数是否为负数,若为负数则转移至AA1处,横线处的指令应为( A )A 、 JNE17 .设 DF=Q (SI) =20H, (CX) =10,执行“ REP LODSW 指令后,SI 中的内容是(C )C 、 34H18.在程序执行过程中, IP 寄存器中始终保存的是( B )B 、下一条指令的首地址19 .设SP初值为2000H,执行指令“ POP AX'后,SP的值是(A )A、2002H20 .若 AX=3500H CX=56B8H 当 AND AX CX指令执行后, AX= ( A )A、1400H21 .汇编源程序时,出现语法错误的语句是( A )A、MOV DS, 1200H22 •将数据1234H存放在存储单元中的伪指令是( C )C 、 DATA1 DB 34H, 12H23 .下面指令执行后,可能改变AL寄存器内容的指令是( D )D 、AND AL, BLB、寄存器间接寻址25 •用户为了解决自己的问题,用汇编语言所编写的程序,称为( B )B、汇编语言程序26 .用DOS功能调用时,子功能调用的编号应放在( C )C、AH27 .提供串指令中目的操作数地址的是( C )C、ES: [DI]28 .在寄存器间接寻址方式下,能够提供有效地址的寄存器有( B )B、BX BP, SI , DI29 .已知某操作数的物理地址是2117AH则它的段地址和偏移地址可能是( A )A、2025 : 0F2A30 .中断向量表中的每个中断向量所占内存空间为:(B )B、4个字节、填空(30题)1.在用直接寻址方式寻址操作数时,系统对段地址的默认值在段寄存器DS中。
《汇编语言程序设计》期末考试-试卷及答案

《汇编语言程序设计》期末考试-试卷及答案一、 选择题(每题1分,共20分)1、下面存储器中属于辅助存储器的是:(、下面存储器中属于辅助存储器的是:(CDE CDE CDE)) A. RAM B. ROM C.C.磁盘磁盘 D.D.光盘光盘 E. 硬盘2、通常说计算机的内存为32M 32M、、64M 或128M 指的是:(指的是:(C C )A. RAM 的容量B. ROM 的容量C. RAM 和ROM 的容量D.硬盘的容量3、下面的说法正确的是:(、下面的说法正确的是:(AE AE AE))A. 存储器是计算机中存放程序和数据的记忆部件。
存储器是计算机中存放程序和数据的记忆部件。
B. 存储器中的信息被读出后即从存储器中消失。
存储器中的信息被读出后即从存储器中消失。
C. 存储器中如果已经存有数据,则不能再向其中写入新的数据。
D. 半导体存储器的存取速度比CD-ROM 的存取速度要慢。
的存取速度要慢。
E. 辅助存储器需要CPU 通过I/O 接口访问,因而速度较慢。
4、下面属于系统软件的有(、下面属于系统软件的有(A A )A. WINDOWS A. WINDOWSB. MASMC. Visual C++D. WORD 5. 5. 汇编语言的优点不包括汇编语言的优点不包括汇编语言的优点不包括__D_____D_____D___。
A A 直接有效地控制硬件直接有效地控制硬件直接有效地控制硬件B B B 生成的代码序列短小生成的代码序列短小生成的代码序列短小C C 运行速度快运行速度快运行速度快D D 编程容易6. 6. 下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是( AB) A 、AX AX,,BX BX,,CX CX,,DX B 、BX BX,,BP BP,,SI SI,,DI C 、SP SP,,IP IP,,BP BP,,DX D 、CS CS,,DS DS,,ES ES,,SS7. 7. 可用作寄存器间接寻址或基址、变址寻址的地址寄存器,正确的是(可用作寄存器间接寻址或基址、变址寻址的地址寄存器,正确的是( D D))。
汇编语言程序设计试题和答案

汇编语⾔程序设计试题和答案《汇编语⾔程序设计》试题专业姓名成绩⼀、单项选择题(每1分,共15分).1将下列⼆进制数0111,1111,1111 转换为16进制数和10进制数是()A.07FFH 3021DB. 6FEH 1021DC. 07FFH 2012DD. 07FFH 2047D2. 在1BM Pc机的IN和OUT 指令中,I/o端⼝号通常是由Dx寄存器来提供的,但有时也可以在指令中⽤⼀个字节来表⽰端⼝号。
试问可以直接由指令指定的I/o端⼝号有多少个?( )A. 127DB.255DC. 256DD.128D3. 设MYDAT是⼀个字变量,下列指令中,错误的是()A.MOV BX,10100BB.MOV DS,AXC.ADD BX,[10100H]D.MOV BX,MYDAT[SI]4.设有关寄存器及存储单元的内容如下:(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100)=12H,(20102)=56H,(20103)=78H,(21200)=2AH,(21201)=4CH,(20202)=0B7H,(21203)=65H,试指出:MOV AX,1100h[BX]指令执⾏后,AX寄存器内是()A.5678HB.4C2AHC.2A4CHD.7856H5.⼀台微型计算机的字长为16位,如果采⽤字节编址,那么它可以访问的最⼤存储空间是多少字节( ),试⽤16进制数表⽰该机的地址范围()A.1M 0~FFFFFHB.64K 0~FFFFHC.128K 0~FFFFHD.128K –FFH~FFH理地址是()A.BAA40HB.AAB40HC.AAA40HD.0D603H7.下列指令哪个是错误的(设OP1,OP2 是已经⽤DB定义的变量名)( )A.CMP BL,OP1B.MOV [BX],111001BC. INC OP2D.SAR AX,CL8.假定(DX)=10111001B,(CL)=05,(CF)=1试确定:RCL DL,CL 指令执⾏后,DX中的值是()A.00CEHB.009DHC.00B9HD.003BH9. 有符号定义语句如下:BUFF DB 1,2,3,‘123’EBUFF DB 0L EQU EBUFF - BUFF问L的值为多少( )A.6DB.7DC.3DD.5D.10. IBMPC机中下列那些寄存器可以⽤来存储存储器地址()A、BX,BP,SP,CXB、AX,SI,DI,DXC、BX,SI,DI,SPD、DX,SI,DI,SP11.下列指令中正确的是()A.MOV [BX],[SI]B.MOV AX,[SI][DI]C.MOV BX,OFFSET NAME[SI]12下列程序段执⾏后,寄存器BX中的内容是什么()MOV CL , 3MOV BX , 0B7HROL BX , 1RCR BX , CLA、0EDHB、0DEHC、0CDHD、0CCH13JB指令的测试条件是( )A. CF=0B. CF=1 C .OF∨CF=1 D.OF=114在DEBUG中()命令⽤来汇编⼀句汇编语⾔语句15 A 、A B、U C 、E D、D16. 指令STI 的功能是( )17(A)允许中断(B)不允许中断(C)允许单步(D) 不允许单步⼆.不定项选择题,漏错多选不得分。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华中科技大学计算机科学与技术二学位《80X86汇编语言程序设计》试卷样例考试时间:2011年7月2日(第19周周六)下午14:30-17:00考试地点:西十二教学楼(S402-0904,S403-0905,S404-0906)班级学号姓名一、单项选择填空:(共10 分,每小题1 分)(1) 指令“MOV AX, ES:[BP]”中的源操作数在当前_________中。
(B)A. 数据段B. 附加数据段C. 堆栈段D. 代码段(2) 将AL中的无符号数压入堆栈,下面的方法不正确的是_________。
(A)(A) CBWPUSH AX(B) MOV AH,0PUSH AX(C) MOVZX AX, ALPUSH AX(D) XOR AH, AHPUSH AX(3) 只有寄存器_________能作基址和变址寄存器。
(C)(A) AX、BX、CX、DX(B) SI、DI、BP、SP(C) BX、SI、DI、BP(D) AX、CX、SI、DI(4) 两负数相加,结果为正,则标志位_________均为1.(D)(A) ZF、SF、CF、DF(B) ZF、CF、DF(C) SF、CF、OF(D) CF、OF(5) 指令"ADD [BX], 2"的错误原因为________.(B)(A) 源操作数和目的操作数不能同时为存贮器操作数.(B) 两个操作数类型模糊(C) 源操作数不能为立即方式(D) BX不能用于寄存器间接方式(6) 已知源操作数在堆栈段,语句“MOV AX,[BP+BX]存在语法错误,现改正为以下四种形式,但只有________是正确的。
(C)(A) MOV AX,SS:[BP+BX](B) MOV WORD PTR [DI],[BP](C) MOV AX,SS:[BX+SI] (当基址寄存器BR=BX时,系统默认操作数在DS中)(D) MOV AX,[BX+DI] (当基址寄存器BR=BP时,系统默认操作数在SS中)(7) 设V AR 为字变量, A为符号常量,下面四个语句中有一个错误的,这个错误语句是________.(C)(A) MOV V AR , A (B) MOV AX , V AR(C) MOV A , AX (D) MOV AX, A(8) 在使用除法指令作字除法时,被除数应放在寄存器________中。
(C)(A) BX和AX(B) CX和AX(C) DX和AX(D) AX(9) 在下列数据段中,(A+2)和TT的值各为________。
(B)DATA SEGMENTA DW 10,20,30TT =$-AB DB 2 DUP(0)DATA ENDS(A) 30,6 (B) 20,6(C) 30,3 (D) 20,3(10) 已知(AX)=a,(BX)=b,a、b均为无符号数,请选择合适的转移指令,使得(AX)>(BX)时转L处执行。
(A)CMP AX,BX_______ L(A) JA (B) JB(C) JG (D) JL二、填空:(共10 分,每空1 分)(1) 若(AX)=1234H,则(AL)= 34H 。
(2) 在语句INC BYTE PTR [BP]中,操作数使用的段寄存器是SS 。
(3) 举出一个目的操作数使用变址寻址方式的指令语句例子MOV 2[SI],AX 。
(4) 写出一条指令语句,其中一个操作数必须是CS寄存器MOV AX,CS 。
(5) 地址表达式中出现的变量或标号,均是取它们的偏移地址(或EA) 参加运算。
(6) CPU中IP(或EIP、指令指示器) 寄存器的内容会被平时作业编写的程序中的任何一条指令所修改。
(7) 列出4种能修改SP寄存器内容的指令PUSH POP PUSHA POPA 。
(还有PUSHAD、POPAD、PUSHF、POPF、PUSHFD、POPFD、CALL、RET等,写MOV的话要写完全,如MOV SP, AX)三、改错,不必说明错误原因:(共10分,每题1 分)(1) MOV DX,[DX] -> MOV DX, [BX](2) AND BL,CX -> AND BX, CX(3) ADD AX,IP-> ADD AX, BP(4) CMP [EBX],0 -> CMP BYTE PTR [EBX], 0(5) MOV [BX+BP+5],AX -> MOV [BX+SI+5],AX(6) PUSH CH -> PUSH CX(7) IN AL,100H -> IN AL, 10H(8) ADD 10,SP -> ADD SP, 10(9) MOV [EAX],BYTE PTR [SI] -> MOV AL, [SI] MOV [EAX], AL(10) MOV AX,(BX)-> MOV AX, [BX]四、简答:(共10分)(1)下列程序段的功能是什么?(3分)B: CMP AX,0JGE EXITNEG AXEXIT: ……求(AX)的绝对值→AX(2) 简单叙述CBW语句和MOVSX语句的相同点和不同点?(4分)相同点:对位数较少(或低精度)的有符号数进行符号扩展,变成位数较多(或高精度)的有符号数。
不同点:CBW指令不带操作数,隐含操作数在AL和AH中,即将AL中的符号扩展到AH中。
MOVSX是双操作数指令,OPD必须是16位或32位寄存器,且位数大于源操作数,源操作数不能是立即数。
(3) 简述“REPNZ SCASB”语句的功能。
(3分)根据方向标志位所指定的方向,CX所指定的串的长度,逐一搜索DS:[SI]所指向的串的每一个字节,直到找到等于(AL)的字节,或是串搜索完为止。
如果搜索到,设置ZF=1,否则ZF=0。
五、程序填空:(共10分,每空2分)(1)以下程序段的功能为:统计BUF中所含字符‘A’的个数→BL,请在程序空白处填入空缺的代码。
┇BUF DB ‘ABC 589TREAUBAATT’C EQU $-BUF (写17也算对)┇LEA SI,BUFMOV CX,CMOV BL,0P: CMP BYTE PTR [SI], ‘A’JNE LOPINC BLLOP: INC SILOOP P(2)以下程序段的功能为:计算无符号数A1÷B1,商放入C1,余数放入D1┇A1 DW 0F252HB1 DW 20HC1 DW ?D1 DW ?┇MOV AX,A1MOV DX,0DIV B1MOV C1,AXMOV D1, DX六、数据段定义如下,按要求回答问题。
(10分)DATA SEGMENT USE16BUFA DB 0dH,0aH,‘$’,0A DW 25,-1,BUFBAlen EQU $ - ABUFB DB ‘BUFB’,2 DUP (Alen ,2 DUP(77H))B DW $ - A, 3DATA ENDS1、以字节为单位画出它们在存储单元中的存放形式,在图中标明各变量的起始位置。
(7分)2、执行下列语句后,AL, BX, CX寄存器的值是多少(3分)MOV AL, BUFA+1LEA BX, BUFA+2MOV CX, Alen(AL)=0AH (BX)=02H (CX)=06H七、编写程序段(不要求完整程序):(10分)(1)已知数据段中有语句“XY DD 25637”,请写出实现(XY)*88/12+10 → ESI的程序段(注:不考虑溢出)(6分) MOV EAX, XYMOV EBX, 88IMUL EBX ; EAX*EBX => EDX:EAXMOV EBX, 12IDIV EBX ; EDX:EAX/EBX = EAX(商)ADD EAX,10MOV ESI, EAX(2)使用两种方法实现交换AH与AL中的内容(4分)XCHG AH, AL MOV BH, ALMOV AL, AHMOV AH, BH八、编写程序(20分)设在以BUF为首址的字存储区中连续存储了多个有符号数(数据个数由编程者自己设定),试编写一完整的程序,按照下面的格式将其打印出来,数字之间以空格作为分隔:非负数:XXXXH,例如10H打印为0010H负数:-XXXXH,例如0C898H打印为-3768H。
要求:设计一个子程序PRINT、以上面指定的格式显示有符号数,参数传递采用自定的寄存器。
画出主程序和子程序的流程图含不少于4条重要注释的完整程序清单。
DATA SEGMENT USE16BUF DW 1, -10H, 2000H, 0, 30H, -50H, 0FFFFHNUM EQU ($-BUF)/2PLUS DB 4 DUP(?), 'H', ' ', '$'MINUS DB '-', 4 DUP(?), 'H', ' ', '$'TAB DB '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' DATA ENDSSTACK SEGMENT USE16 STACKDB 200 DUP(0)STACK ENDSCODE SEGMENT USE16ASSUME CS:CODE,DS:DATA,SS:STACKBEGIN:MOV AX,DATAMOV DS,AXLEA BX, BUFMOV CX, NUM ;初始化寄存器L1: MOV AX, [BX]CALL PRINTADD BX, 2LOOP L1 ;没有处理完,继续循环MOV AH,4CHINT 21HPRINT PROCPUSH BX ;保护现场CMP AX, 0JGE P0NEG AXLEA SI, MINUS+1LEA DI, MINUS ;处理负数JMP P1P0: LEA SI, PLUSLEA DI, PLUS ;处理非负数P1: MOV BL, AHSHR BL, 4MOV DL, TAB[BX]MOV BYTE PTR [SI], DL ;最高位MOV BL, AHAND BL, 0FHMOV DL, TAB[BX]MOV BYTE PTR [SI+1], DL ;次高位MOV BL, ALSHR BL, 4MOV DL, TAB[BX]MOV BYTE PTR [SI+2], DL ;次低位MOV BL, ALAND BL, 0FHMOV DL, TAB[BX]MOV BYTE PTR [SI+3], DL ;最低位 MOV AH, 9MOV DX, DIINT 21HPOP BX ;恢复现场 RETPRINT ENDPCODE ENDSEND BEGIN。