+ -
当前位置:首页 → 问答吧 → 请帮忙把16bit的程序转成32bit。。。谢谢

请帮忙把16bit的程序转成32bit。。。谢谢

时间:2011-12-09

来源:互联网

如题
.model small
.stack 100h
.data
message1 db "Divide",0dh,0ah, '$'
message2 db "Subtraction",0dh,0ah, '$'
message3 db "Shifting",0dh,0ah, '$'

.code
extern pDteTme:proc

main proc
mov ax,@data
mov ds,ax
mov ah,9
lea dx,offset message1
MOV AH,9
int 21h

call pDteTme
mov si,7fffh
mov dx,0
L: mov ax,7fffh
mov cx, 7fffh
mov bx, 2
L1: div bx
loop L1
dec si
cmp si,0
jnz L
call pDteTme

lea dx,offset message2
MOV AH,9
int 21h

call pDteTme
mov si,7fffh
mov dx,0
L2: mov ax,7fffh
mov cx, 7fffh

L3: sub bx,2
loop L3
dec si
cmp si,0
jnz L2
call pDteTme


lea dx,offset message3
MOV AH,9
int 21h

call pDteTme
mov si,7fffh
mov dx,0
L4: mov ax,7fffh
mov cx, 7fffh
L5: sar ax,1

loop L5
dec si
cmp si,0
jnz L4
call pDteTme

  mov ax,4c00h
int 21h

main endp
end main

作者: cmychq   发布时间: 2011-12-09

32位下,一般也没有什么变化,就多了几个新的寄存器,
你的程序改成32位下的;
只要把 ax --> eax
  bp --> ebp
、、、、类似的加e,mov ,sub什么的指令都不变

作者: agoago_2009   发布时间: 2011-12-09