用汇编语言将十进制数转换成二进制数,当被转换数大于65535会有什么结果

如题所述

正常输出啊
include io32.inc
.data
msg byte '十进制数65535的二进制数为:',0
.code
start:
mov eax,offset msg
call dispmsg
mov eax,3
push eax
mov eax,65535
again:
mov ebx,2
mov edx,0
div ebx
mov ecx,eax
mov eax,edx
push eax
mov eax,ecx
cmp eax,0
jg again
tz:
pop eax
cmp eax,3
je next
call dispsid
jmp tz
exit 0

next:
exit 0
end start
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-11-08
你自己试试

1.十化二程序设计
题目要求:
允许用户从键盘输入小于等于65535大于等于0的十进制数(注意用户从键盘输入的是字符串),将其转换为二进制数存放在字变量SUM中。
程序如下:
DATA SEGMENT
SUM DW ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE ,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV SUM,0
NEXT1:
MOV AH,01H
INT 21H ;输入一个字符(‘0’~‘9’或回车)→(AL)
CMP AL,0DH
JE NEXT2 ;为回车则跳出,不为回车则继续执行
SUB AL,30H ;转换成相应的数字
MOV BL,AL
MOV BH,0
MOV AX,SUM
MOV DX,10 ;SUM=SUM*10+(AL)
IMUL DX
ADD AX,BX
MOV SUM,AX ;存放在变量SUM中
JMP NEXT1
NEXT2:
MOV AH,4CH
INT 21H
CODE ENDS
END START
第2个回答  2011-11-07
自己想追问

。。。。就是不知道才问。。

第3个回答  2011-11-09
铜球

用汇编语言将十进制数转换成二进制数,当被转换数大于65535会有什么结果...
msg byte '十进制数65535的二进制数为:',0 .code start:mov eax,offset msg call dispmsg mov eax,3 push eax mov eax,65535 again:mov ebx,2 mov edx,0 div ebx mov ecx,eax mov eax,edx push eax mov eax,ecx cmp eax,0 jg again tz:pop eax cmp eax,3 je next call dispsid...

用汇编语言把一个十进制的数(大于65535)转成十六进制和二进制输出该怎么...
右移一位,即除以2。

计算机系统有几部分组成?
存储器用于存储程序、数据和文件,常由快速的主存储器(容量可达数百兆字节,甚至数G字节)和慢速海量辅助存储器(容量可达数十G或数百G以上)组成。各种输入输出外部设备是人机间的信息转换器,由输入-输出控制系统管理外部设备与主存储器(中央处理器)之间的信息交换。用通俗的方式再介绍一下,一台家用电脑...

用汇编语言编写代码转换程序。编程实现十制数和二进制数之间的转换...
dseg segment msg0 db 'please Input a decimal number <65536 :$'dseg endsassume cs:cseg, ds:dsegcseg segmentstart: mov ax, dseg mov ds, ax mov ah, 9 lea dx, msg0 int 21h call readn mov ah,0eh mov al,0dh int 10h mov al,0ah int 10h call prin...

如何用汇编语言实现十进制到二进制的转换
;输入不超过65535的10进制数,将其以二位的形式显示 CODE SEGMENT ASSUME CS:CODE ORG 100H START: JMP BBB X DW 0 MSG1 DB 10,13,'please input a number:','$' MSG2 DB 10,13,' ','$' BBB: PUSH CS ...

几个汇编语言的思考题,谁会,告诉我啦
1. 将一个五位十进制数转换为二进制数(十六位)时,这个十进制数最小可为多少,最大可为多少?为什么?无符号数10000-65535,小于10000,就不是五位,高于65535,超出十六位二进制能表示的范围 2. 将一个十六位二进制数转换为ASCII码十进制数时,如何确定Di的值?使用除法指令除10,取余,可依次...

用汇编语言(输入不大于65535的十进制数转化成十六进制输出且 将二进...
十进制的数,可以逐个乘10累加,变为16进制,2进制变10进制,可以除十取余,求出各位十进制数

用汇编语言写:从键盘输入一个十进制数(100以内),将其转变为二进制数并...
ADD AL,30H ;加上30H 从这里开始将4位二进制数转成16进制ASCII码,CMP AL,3AH ;加结果是不是少于3A JL mH2 ;是的话,表示是0-9之中数 ADD AL,7H ;否则还要加上7,变成对应的A或B、C、D、E、F mH2: MOV DL,AL ;AL是转换好的一位16进制数的ASCII码 MOV...

汇编语言BCD码转二进制
转换结果放在DI寄存器中。转换结果放在DI寄存器中。谢谢各位大神!--- 条件,还应该有一句:BCD 码总数,不超过 65535 吧?转换程序如下:MOV CX, DX MOV AX, 10000 MUL BX MOV DI, AX MOV AL, CL ;十位个位 MOV AH, 0 MOV BL, 16 DIV BL MOV DL, AH...

...进制数转化成十进制输出; 输入不大于65535的十进制数转化成十六进...
INT 21H 子人,MOV AH,30H 添加背景,人 MOV DL,'='MOV AH,2 INT 21H MOV AL,BL 空空导弹 BR \/>或斧头,3030h同时诱导 XCHG啊,人 啊 MOV AH,0EH MOV DL,INT 10H MOV AL,DL 诠释10H MOV AH,1 INT 21H MOV AH,4CH INT 21H 代码结束 END START ;此外,两个的十进制 ...

相似回答