下面的汇编语言程序用来将AX寄存器中的十六进制数转换为十进制数的ASCII码。在______填空,使程序能按预定的设计要求正常运行。
DSEG SEGMENT
BUF DB 5DUP()
DSEG ENDS
SSEG SEGMENT
DB 256DUP(0)
SSEG ENDS
CSEG SEGMENT
ASSUM CS:CSEG,DS:DSEG,SS:SSEG
START PROC ______
PUSH DS
MOV AX,0
PUSH AX
MOV AX,DSEG
MOV DS,AX
LEA DI,BUF
MOV CX,0
MOV BX,10
MOV AX,36H
LP1: MOV DX,0
DIV BX
PUSH DX
INC CX
CMP AX,0
JNE LP1
MOV BX,5
SUB BX,CX
bP2: POP DX
ADD DL,30H
MOV [DI],DL
INC DI
LOOP LP2
CMP BX,0
JE EXIT
MOV CX,BX
LP3: MOV BYTE PTR[DI],20H
INC DI
LOOP LP3
EXIT: RET
START ENDP
CSEG ENDS
END START
时间:2023-08-19 13:35:15
相似题目
-
将二进制数00111011转换为十六进制数是()。
A . A、2AH
B . B、3AH
C . C、2BH
D . D、3BH
-
设AX寄存器中有一个16位二进制数,编一程序,统计AX中“l”的个数,统计结果送CX中。
-
试按要求编制程序段:由寄存器AX,BX组成一个32位带符号数(AX中存放高十六位),试求这个数的负数。
-
汇编语言源程序十六进制常数是以字母()结尾的十六进制数。
A . A、B
B . B、Q
C . C、D
D . D、H
-
用一条指令实现将寄存器BX和SI中的内容相加,结果送入AX中,这条指令是()。
A . ADD AX,[SI][BX]
B . MOV AX,[BX+SI]
C . AND AX,[BX+SI]
D . LEA AX,[BX][SI]
-
DPTR是MCS-51中唯一一个十六位寄存器,在程序中常用来作为MOVC指令的访问程序存储器的()使用。
-
将二进制数“00011111”转换为十六进制数为()。
A . 0F
B . 2F
C . F1
D . 1F
-
将十进数215转换为十六进制数是( ).
-
将十进数215转换为十六进制数是( ).
-
汇编语言程序必须经汇编程序进行汇编处理,转换为二进制机器程序,才能被计算机执行。
-
将下列十六进制数转换为二进制数。
-
为了使下面的程序段能用来把DL中的二进制代码从高位到低位依次转换为ASCII码并存入 DI 设定的内存数据区,试问该程序段中NEXT 处应填入()指令。 MOV CX,8 NEXT: MOV AL, DL AND AL, 1 ADD AL, 30H MOV [D1],AL INC DI LOOP NEXT
A.SHL DL, 1
B.SHR DL,1
C.ROL DL,1
D.ROR DL,1
-
用MOV指令将十进制数89以组合型BCD码格式送入AX;正确使用的指令是()。A.MOV AX,0890B.MOV AX,0
用MOV指令将十进制数89以组合型BCD码格式送入AX;正确使用的指令是()。
A.MOV AX,0890
B.MOV AX,0809H
C.MOV AX,0089H
D.MOV AX,8009
-
用十六进制数填写下表。已知DS=1000H, ES=2000H,SS=OFCOH, 通用寄存器的值为0.
<img src='https://img2.soutiyun.com/ask/2020-12-23/977605162014402.png' />
-
将二进制数111010.11转换成十六进制数是______。将二进制数111010.11转换成十六进制数是______
-
为了将AX和BX寄存器中存放的32位数据左移一位(其中AX寄存器中的数据为高16位),下面的程序段中应填写一条______指令。 SHL AX, 1 SHL BX, 1 ______ ______
A.ADC AX, 0
B.SHL AX, 1
C.ROL AX, 1
D.RCL AX, 1
-
在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Next i Print Dec End Sub 程序功能为:单击命令按钮,将产生一个输入对话框,此时如果在对话框中输入一个二进制数,并单击“确定”按钮,则把该二进制数转换为等值的十进制数。这个程序不完整,应在横线处填入的内容是
A.Left
B.Right
C.Val
D.Mid
-
为了使下面的程序段能用来把DL中的二进制代码从高位到低位依次转换为ASCII码并存入DI设定的内存数据区,该程序段中NEXT处应填入的指令是______。
MOV CX,8
NEXT:______
MOV AL,DL
AND AL,1
ADD AL,30H
MOV [DI],AL
INC DI
LPPP NEXT
A.SHL DL,1 B.SHR DL,1
C.ROL DL,1D.ROR DL,1
-
下列指令,能实现将寄存器的值经过二进制转换后输出到指定的组输出中的是()
A.R[1]=GI[2]
B.R[R[1]]=GI[R[4]]
C.GO[R[5]]=R[R[1]]
D.GO[1]=0
-
将二进制数变成bcd码,下面的C语言操作可以得到bcd码的高4位(二进制)()。
A.将二进制数除以十,然后再将商左移4位
B.将二进制数除以10,然后再将商右移4位
C.将二进制数除以10得到余数,将余数左移4位
D.将二进制数除以0x10,然后商左移4位
-
编写程序,将字节变量BVAR中的压缩BCD数转换为二进制数,并存入原变量中。
-
执行下面的程序后,AX寄存器中的数据是()。 BUT DW 10DUP(2) XOR AX, AX
执行下面的程序后,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
-
假设寄存器为8位,用补码形式存储机器数,包括一位符号位,那么十进制数一25在寄存器中的十六进制形式表示为
A.E7H
B.67H
C.99H
D.E6H
-
7、下面是一个将十进制正整数转换为2进制数的函数定义: void tobinary(int x) { while (x>0) { printf("%1d",x%2); } } 要实现函数的功能,则在空白处应该填写的程序语句是()。
A.x=x/2;
B.x=x/10;
C.x=x%2;
D.x=x%10;