将十进制数67分别转化为二进制和十六进制数,写出过程和结果! 详细点谢谢大佬!

如题所述

dseg segment
  hextb db '0123456789ABCDEF'
  crlf db 0dh,0ah,'$'
dseg ends

cseg segment
assume cs:cseg, ds:dseg
start:
  mov ax, dseg
  mov ds, ax

  mov ax, 67
  push ax
  mov bx, ax
  call printBin  ;bx传递参数
  mov ah,9
  lea dx, crlf
  int 21h

  pop dx
  call printHex  ;dx传递参数


  mov ah,4ch
  int 21h

printBin proc near
  mov cx,16
  mov ah,0eh
p1:
  rol bx,1
  mov al,bl
  and al,1
  xor al,30h
  int 10h
  loop p1
  ret
printBin endp

printHex proc near
  mov cx,404h
  mov ah,0eh
  mov dx, bx
  lea bx, hextb
p0:
  rol dx, cl
  mov al, dl
  and al,0fh
  xlat
  int 10h
  dec ch
  jnz p0
  ret
printHex endp

cseg ends
end start

追问

那个,哥们,这是试卷答题,我要往试卷上写要怎么写呀?

追答

把代码抄上。

追问

从哪里抄到那里。。。。

追答

晕,题目是写代码?还是写计算过程?

追问

计算过程

怪我没说清楚。。。

😍计算过程

温馨提示:答案为网友推荐,仅供参考
相似回答