题目内容

5、数据段DATA定义如下 :DATA SEGMENTA DB 21H, ‘A’, 61H, 5, ‘12345’B DW 5566H, 77H, ‘ba’C DD 1234HD DW A+2, B ;D+0与D+1定义A+2的偏移地址,D+3与D+4定义B的偏移地址。E DD B ;E的低字存放B的偏移地址,E的高字存放B所在段的段地址。DATA ENDS有下列代码段中部分指令代码,填写指令旁边寄存器的值。MOV AX, DATAMOV DS, AX;DS=()LEA DX, A+9;DX=()MOV BX, OFFSET C+2 ;BX=()MOV BX, WORD PTR C+3;BX=()MOV AL, BYTE PTR C+8 ;AL=( )MOV BX, SEG B;BX=()注:假设数据段DATA在汇编连接时形成的段地址为073FH(即DS的值)按顺序填空,每空1分

查看答案
更多问题

6、下列程序是以运用过程结束方式,结束程序运行,程序运行结果是屏幕显示:Hello!, 完成程序填空。程序清单如下:DATASEGMENTA DB 'Hello!$'DATA ENDSCODE SEGMENTASSUME CS:CODE ,DS:DATASUB1 PROCFARPUSHDSXOR AX, AXPUSH AXMOV AX,DATALEADX,AINT21HSUB1 ENDPCODE ENDSENDSUB1

7、在段的定义中,段的 [定位类型] 指段的起始地址的取值方法,有5种,分别是:PARA、BYTE、WORD、DWORD、()

8、对于不超过65535的十进制整数,在汇编语言编程中要正常显示该数字的算法是:采用“除10取余法”,即将整数除以10,将余数(小于10)入栈,再用商除以10,将余数入栈,重复这一过程,直到商为0止。这样将整数的各位数字以余数的形式分离出来,即整数的最低位数字存放在栈底,整数最高位数字存放在栈顶,整数的位数即作除法的次数。下列程序代码是以宏定义的形式体现,请完成填空。OUTP MACROXMOV CX, 0MOV AX, XAA1:MOV DX, 0MOV BX,10DIV BXPUSH DXAA2: POP DXOR DL, 30HINT21HLOOP AA2

9、下列程序是利用压缩BCD码完成两个十进数减法(523487-77896=?)并显示结果。程序清单如下,请完成填空。DATA SEGMENTA DB 87H, 34H, 52HB DB 96H, 78H, 07HC DB 3 DUP(0)DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART:MOV AX, DATAMOVDS, AXMOV SI, 0CLCAA1: MOV AL, A[SI]SBBAL, B[SI]MOV C[SI], ALINC SILOOP AA1MOV CX, 3MOV SI, 2AA2:MOV DL, C[SI]PUSH CXMOV CL, 4SHR DL, CLORDL, 30HMOV AH, 2INT 21HMOV DL, C[SI]AND DL, 0FHORDL, 30HMOV AH, 2INT 21HPOP CXLOOP AA2MOV AH, 4CHINT 21HCODE ENDSEND START

答案查题题库