运行下面的汇编语言程序:DSEG SEGMENTDAT DB 5,13,4,-2,-6,23,3,1,9,0CNT EQU $—DAT—1NUM DB ?DSEG ENDSSSEG SEGMENT STACKDB 256DUP(0)SSEG ENDSCSEG SEGMENTASSUME DS:DSEG,SS:SSEG,CS:CSEGSTART: MOV AX,DSEGMOV DS,AXMOV SI,OFFSETDATMOV CX,CNTXOR BL,BLLP: MOV AL,[SI]XOR AL,[SI+1]TEST AL,80HJNE NEXTINC BLNEXT: INC SILOOP LPMOV NUM,BLMOV AH,4CHINT 21HCSEG ENDSEND START在NUM内存单元中得到的结果是______。

运行下面的汇编语言程序:

DSEG SEGMENT

DAT DB 5,13,4,-2,-6,23,3,1,9,0

CNT EQU $—DAT—1

NUM DB ?

DSEG ENDS

SSEG SEGMENT STACK

DB 256DUP(0)

SSEG ENDS

CSEG SEGMENT

ASSUME DS:DSEG,SS:SSEG,CS:CSEG

START: MOV AX,DSEG

MOV DS,AX

MOV SI,OFFSETDAT

MOV CX,CNT

XOR BL,BL

LP: MOV AL,[SI]

XOR AL,[SI+1]

TEST AL,80H

JNE NEXT

INC BL

NEXT: INC SI

LOOP LP

MOV NUM,BL

MOV AH,4CH

INT 21H

CSEG ENDS

END START

在NUM内存单元中得到的结果是______。


相关考题:

下面的汇编语言源程序经汇编后,发现TEST [BX], 01H指令有语法错误,试问该指令的正确形式应该是 。 DSEG SEGMENT DAT DB 5,13,4,-2,6,23,44,-1,29,-3 CNT DW $-DAT DSEG ENDS SSEG SEGMENT STACK DB 256 DUP(0) SSEG ENDS CSEG SEGMENT ASSUME DS:DSEG,SS:SSEG,CS:CSEG START PROC FAR PUSH DS XOR AX,AX PUSH AX MOV AX,DSEG MOV DS,AX XOR AX,AX MOV BX,OFFSET DAT MOV CX,CNT LP: TEST [BX],01H JZ NEXT INC AH ADD AL,[BX] NEXT: INC BX LOOP LP SET START ENDP CSEG ENDS END START

根据下面的汇编语言源程序,其运行结果是在屏幕上显示 。 DSEG SEGMENT DAT DB 0FFH N EQU 3 BUF DB 3 DUP(‘?’) DB ‘$’ DSEG ENDS SSEG SEGMENT STACK DB 256 DUP(0) SSEG ENDS CSEG SEGMENT ASSUME DS:DSEG,SS:SSEG,CS:CSEG START: MOV AX,DSEG MOV DS,AX MOV BX,OFFSET BUF MOV SI,N MOV AL,DAT MOV AH,0 MOV CX,10 NEXT: XOR DX,DX DIV CX ADD DL,30H ;形成ASCII码 DEC SI MOV [BX+SI],DL OR SI,SI JNE NEXT LEA DX,BUF MOV AH,9 INT 21H MOV AH,4CH INT 21H CSEG ENDS END START

下面的汇编语言程序用来将AX寄存器中的十六进制数转换为十进制数的ASCII码。在______填空,使程序能按预定的设计要求正常运行。DSEG SEGMENTBUF DB 5DUP(?)DSEG ENDSSSEG SEGMENTDB 256DUP(0)SSEG ENDSCSEG SEGMENTASSUM CS:CSEG,DS:DSEG,SS:SSEGSTART PROC ______PUSH DSMOV AX,0PUSH AXMOV AX,DSEGMOV DS,AXLEA DI,BUFMOV CX,0MOV BX,10MOV AX,36HLP1: MOV DX,0DIV BXPUSH DXINC CXCMP AX,0JNE LP1MOV BX,5SUB BX,CXbP2: POP DXADD DL,30HMOV [DI],DLINC DILOOP LP2CMP BX,0JE EXITMOV CX,BXLP3: MOV BYTE PTR[DI],20HINC DILOOP LP3EXIT: RETSTART ENDPCSEG ENDSEND START

请编制程序,其功能为:设由20个8位有符号数构成一个数组,试依次去掉其中负的奇数,生成一个新的数组(顺序不变)。结果存放在RESULT开始的内存单元中。部分程序已经给出,其中原始数据由LOAD过程从文件INPUT1.DAT中读入从SOURCE开始的内存单元,运算结果要求从RESULT开始存放,由SAVE过程保存到OUTPUT1.DAT文件中。请在BEOIN和END之间补充使其完整。对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终产生运行结果。部分程序如下:; PROG1.ASMEXTRN LOAD:FAR,SAVE:FARLEN EQU 20DSEG SEGMENTSOURCE DW N DUP (?)RESULT DW N DUP (0)NAME0 DB 'INPUT1.DAT',0NAME1 DB 'OUTPUT1.DAT',0DSEG ENDSSSEG SEGMENT STACKDB 256 DUP (?)SSEG ENDSCSEG SEGMENTASSUME CS:CSEG, DS:DSEG;SS:SSEGSTART PROC FARPUSH DSXOR AX,AXPUSH AXMOV AX, DSEGMOV DS,AXMOV ES, AXLEA DX, SOURCELEA SI,NAME0MOV CX,NCALL LOAD; *** BEGIN ***………………………………; *** END ***LEA DX, RESULTLEA SI,NAME1MOV CX,NCALL SAVERETSTART ENDPCSEG ENDSEND START

下面的8086/8088 汇编语言程序中,主程序通过堆栈将有关信息传送给子程序 STRLEN。在主程序的【 】处填空,使程序能正常运行。DSEG SEGMENTARRAY DB 'Computer$',NUM DW 0DSEG ENDSSSEG SEGMENT STACKDB 256DUP(0)SSEG ENDSCSEGl SEGMENTASSUME DS:DSEG,SS:SSEG,CS:CSEGlSTART: MOV AX,DSEGMOV DS,AXMOV AX,OFFSETARRAYPUSH AXCALL【 】MOV NUM,AXMOV AH,4CHINT 21HCSEG l ENDSCSEG2 SEGMENTASSUME DS:DSEG,SS:SSEG,CS:CSEG2STRLEN PROC FARPUSH BPMOV BP,SPPUSH SIMOV SI,[BP+6]NEXT: CMP BYTE PTR[SI],'$'JZ DONE ;串尾吗?INC SIJMP NEXTDONE: MOV AX,SISUB AX,[BP+6]POP SIPOP BPRET 2STRLEN ENDPCSEG2 ENDSEND START

在下面的汇编语言程序横线处填空,使语句完整,保证程序正确执行。DSEG SEGMENTD1 DB -1,5,2,6,-7,4CNT EQU $-D1RS DWDSEG ENDSSSEG SEGMENT STACKDB 256DUP(0)SSEG ENDSCSEG SEGMENTASSUM CS: CSEG,DS:DSEG, SS:SSEGSTART PROC FARPUSH DSXOR AX,AXPUSH AXMOV AX, DSEGMOV DS,AXMOV BX,OFFSETF D1MOV CX, CNTMOV DX, 0LP: MOV AL,[BX]CMP AL,0JGE CONTINC DXCONT :INC BXDEC CXJNZ LPMOV RS,DXRETSTART ______CSEG ENDSEND START

运行下面的汇编语言程序,在NUM内存单元中得到的结果是______。DSEG SEGMENTDAT DB 5,13,4,-2,-6,23,3,1,9,0CNT EQU S-DAT-1NUM DB ?DSEG ENDSSSEG SEGMENT STACKDB 256 DUP(0)SSEG ENDSCSEG SEGMENTASSUME DS:DSEG,SS:SSEG,CS:CSEGSTART: MOV AX, DSEGMOV DS,AXMOV SI,OFFSET DATMOV CX, CNTXOR EL,ELLP: MOV AL,[SI]XOR AL,[SI+1]TEST AL, 80H ; 两个相邻字节的最高位相同吗?JNE NEXTINC BLNEXT: INC SILOOP LPMOV NUM, BLMOV AH,4CHINT 21HCSEG ENDSEND START

执行下面的程序段后,DAT1单元的值是( )。 DAT1 DB 12H,34H DAT2 DB 56H,78H MOV AX, WORD PTR DAT1 CMP AX, WORD PTR DAT2 JA DONE MOV BX, WORD PTR DAT2 MOV OWRD PTR DAT2,AX MOV OWRD PTR DAT1, BX DONE: HLTA.34HB.78HC.12HD.56H

数据段定义如下: DAT1 DB 55H DAT2 DB () 下面指令执行后,DAT2中的内容是()。 MOV AL,DAT1 AND AL,70H OR AL,80H MOV DAT2,ALA.E0HB.77HC.D0HD.87H