CMS专题

填空题有程序如下: ORG 2800H BUF DB 67,4,57,34,89,123 START:MOV SI, 04 MOV BX, OFFSET BUF MOV AL, [BX+ SI] CALL SUB1 INT 3 SUB1: PUSHF MOV AH, OOH MOV BL, OAH DIV BL POPF RET该程序运行后,AH= ()AL=()

题目
填空题
有程序如下: ORG 2800H BUF DB 67,4,57,34,89,123 START:MOV SI, 04 MOV BX, OFFSET BUF MOV AL, [BX+ SI] CALL SUB1 INT 3 SUB1: PUSHF MOV AH, OOH MOV BL, OAH DIV BL POPF RET该程序运行后,AH= ()AL=()
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

执行下面的程序后,AX寄存器中的数据是( )。 BUT DW 10DUP(2) XOR AX, AX MOV CX, LENGTH MOV SI,SIZE BUF—TYPEBUF NEXT: ADD AX,BUF [SI] SUB SI,TYPE BUF LOOP

A.20

B.30

C.32

D.40


正确答案:A

第2题:

有程序如下: BUF DB. 12H,23H,34H,45H,56H,67H,78H,89H,91H MOV SI,O MOV AL,[ BUF +SI] LP: INC SI CMP SI,9 JAE EXIT CMP AL,[BUF +SI] JLE NEXT()MOV AL,[BUF +SI] A22:JMP LP EXIT:INT 3 程序执行后AL=?该程序的功能是什么?


正确答案: AL= 91H,该程序的功能是查找数据块中有符号数的最小值存入AL中。

第3题:

根据下面的汇编语言源程序,其运行结果是在屏幕上显示 。 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


正确答案:

 255

第4题:

阅读下面的程序,回答问题 DATA SEGMENT BUF DB '1234' N=$-BUF BCD DB N DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX LEA SI,BUF MOV CX,N LEA DI,BCD+N-1 LOOP1:MOV AL,[SI] SUB AL,30H MOV [DI],AL INC SI DEC DI DEC CX JNE LOOP1 MOV AH,4CH INT 21H CODE ENDS END START 取消数据段的BCD存储区,将处理后的数据放回原处,应如何修改程序?


正确答案: 取消数据段的BCD存储区,将经处理后的数据放回原处,修改程序如下:
DATA SEGMENT
BUF DB '1234'
N=$-BUF
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
LEA SI,BUF
MOV CX,N
LOOP1:MOV AL,[SI]
SUB AL,30H
MOV [SI],AL
INC SI
DEC CX
JNE LOOP1
MOV AH,4CH
INT 21H
CODE ENDS
END START

第5题:

设内存22000H和22001H单元分别存放的数据为04H和06H,写出如下程序的运行结果,并指出该程序段的功能。 MOV AX,2000H MOW DS,AX MOC CL,4 MOV SI,2000H MOV AL,[SI+1] SHL AL, CL ADD AL,[ SI] MOV[ SI+2], AL INT 3 请问:SI=();AL();(22002H)=();程序功能是:()


正确答案:
2000H;64H;64H;将两个数符压缩在一个内存单元中

第6题:

DSEG SEGMENT

BUF DB 1,5,4,0,7,9,2,6

L EQU O0111001B 用作逻辑尺

RESULT DB 10 DUP(?)

DSEG ENDS

SSEG SEGMENT STACK

DB 256 DUP(0)

SSEG ENDS

CSEG SEGMENT

ASSUME DS:DSEG; SS:SSECG, CS:CSEG

START PROC FAR

PUSH DS

XOR AX, AX

PUSH AX

MOV AX, DSEG

MOV DS, AX

MOV SI, 0

MOV CX, 8

MOV DL, L

GOON: SHR DL, 1

JC FILL

MOV AL, BUF[SI]

JMP NEXT

FILL: MOV AL, OFFH

NEXT: MOV RESULT[SI], AL

INC SI

LOOP GOON

RET

START ENDP

CSEG ENDS

END START

在保持以上程序功能不变的前提下,INCSI指令可以用【 】指令替换。


正确答案:ADDSI1
ADDSI,1 解析:在保持程序功能不变的前题下,INCSI指令的功能为使SI寄存器的值加1,所以可以用ADDSI,1指令替换。

第7题:

有程序如下: ORG 2800H BUF DB 67,4,57,34,89,123 START:MOV SI, 04 MOV BX, OFFSET BUF MOV AL, [BX+ SI] CALL SUB1 INT 3 SUB1: PUSHF MOV AH, OOH MOV BL, OAH DIV BL POPF RET该程序运行后,AH= ()AL=()


正确答案:09H;08H

第8题:

下面程序的功能是利用逻辑尺对BUF变量中的数据进行变换,执行该程序后,以RESULT为首地址的前两个字节单元中的数据依次为【 】。

DSEG SEGMENT

BUF DB 1,5,4,0,7,9,2,6

L EQU 00111001B ;用做逻辑尺

RESULT DB 10 DUP(?)

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

MOV SI,0

MOV CX,8

MOV DL,L

GOON: SHR DL,1

JC FILL

MOV AL,BUF[SI]

JMP NEXT

FILL: MOV AL,OFFH

NEXT: MOV RESULT[SI],AL

INC SI

LOOP GOON

RET

START ENDP

CSEG ENDS

END START


正确答案:FFH05H或OFFH05H
FFH,05H或OFFH,05H 解析:这段程序的功能是利用逻辑尺来处理BUF为首地址的存储单元中存放的数据,并把结果按照顺序放在RESULT的存储单元中,则RESULT中存放的数据依次应该是FFH, 05H,04H,FFH,FFH,02H,06H。所以前两个字节单元中的数据依次为FFH,05H。

第9题:

有程序如下:BUF DW 1,3,-8,34,56,13,89,-4COUNT EQU 8X DW?START: MOV SI.BUFMOV CX,COUNTXOR AX,AXNEXT: CMP AX,[SI]JC NEXT1MOV AX,[SI]NEXT1:INC SIINC SILOOP NEXTMOV X ,AX问程序执行后X中的内容是多少?程序的功能是什么?


正确答案: X中的内容是-8。 程序的功能是从数据块中找出最小数并存放在X中。

第10题:

源程序如下: MOV CX,9 MOV AL,01H MOV SI,1000H NEXT:MOV[SI],AL INC SI SHL AL,1 LOOP NEXT 执行本程序后AL等于多少?SI等于多少?CX等于多少?


正确答案:AL=0;SI=1009H;CX=0

更多相关问题