下面的程序段是利用寄存器传送参数的子程序调用程序结构,其功能是计算DAT变量中N个字节数据的累加和,结果存放在RESULT内存单元中。在横线处填入适当的指令,使程序能完成预定的功能。 DAT DB 75,125,1,2,68,4 RESULT DW______ LEA BX, DAT CALL SUBP MOV RESULT,AX SUBP: PUSHSI XOR AX,AX MOV SI,0 NEXT: ADD AL,[BX+SI] ADC AH,1 INC SI LOOP NEXT POP SI RET
举一反三
- 执行以下程序段后 ARRAY DW 10DUP(2) XOR AX, AX MOV CX, LEHGTH ARRAY MOV SI, SIZE ARRAY_TYPE ARRAY NEXT: ADD AX,ARRAY[SI] SUB SI, TYPE ARRAY LOOP NEXT 写出AX=______。
- 在下列程序段中分别填入以下指令 (1)LOOP NEXT (2) LOOPE NEXT (3) LOOPNE NEXT 程序执行完后,AX,BX,CX,DX 的内容分别是多少? START: MOV AX,01H MOV BX,02H MOV CX,04H MOV DX,03H NEXT: INC AX ADD BX,AX SHR DX,1 ( )
- 源程序如下: MOV CX,9 MOV AL,01H MOV SI,1000H NEXT: MOV [SI],AL INC SI SHL AL,1 LOOP NEXT 试问:(1)执行本程序后有:AL= ;SI= ;CX= ; (2)本程序的功能是__________
- 用一条指令实现将寄存器BX和SI的内容相加,结果送入AX中,这条指令是( )。 A: ADD AX,[BX+SI] B: MOV AX,[BX+SI] C: AND AX, [BX+SI] D: LEA AX,[BX+SI]
- 说出下列汇编程序中源操作数与目的操作数的寻址方式(1) MOV AH,F5H;(2) MOV AX, F58AH;(3) MOV AX,[2000H];(4) MOV AX,[BX];(5) MOV AX,10[SI];(6) MOV AX,[SI]10;(7) MOV AX,10[SI 10];(8) MOV AX, [BX][SI];(9) MOV AX, 10[BX][SI];