Re: [問題] about eax
.286
.model small
.code
start:
;mov eax,12345678h
db 066h
db 0B8h
dd 012345678h
mov dl,'d'
mov ah,06h
int 21h
mov ah,4ch
int 21h
end start
0001:0000: 66 B8 78 56 34 12 mov eax,12345678h
0001:0006: B2 64 mov dl,64h
0001:0008: B4 06 mov ah,6
0001:000A: CD 21 int 21h
0001:000C: B4 4C mov ah,4Ch
0001:000E: CD 21 int 21h
prefix 66h 就是這樣子
AMD64也是多一個prefix 變成 64bits
不然AMD64平常還是32bits
※ 引述《twwo (Jack)》之銘言:
: 有個問題想請問一下各位高手,
: 我想把12345678放進eax暫存器,程式碼如下
: .386
: .model small
: .stack
: .data
: .code
: start:
: mov eax,12345678h
: mov dl,'d'
: mov ah,06h
: int 21h
: mov ah,4ch
: int 21h
: end start
: 可是卻不如預期,反組譯結果如下
: 2902:0000 B87856 MOV AX,5678h
: 2902:0003 3412 XOR AL,12h
: 2902:0005 B264 MOV DL,64h
: 2902:0007 B406 MOV AH,06h
: 2902:0009 CD21 INT 21h
: 2902:000B B44C MOV AH,4Ch
: 2902:000D CD21 INT 21h
: 也就是說,組譯出來的執行檔只是把5678放進ax,
: 而不是我預期的把12345678放進eax,
: 怎麼會這樣呢?
: 我的masm是6.11版的
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.125.195.189
推
12/15 14:00, , 1F
12/15 14:00, 1F
.386
.model small
code segment use16
mov eax,12345678h
mov dl,'d'
mov ah,06h
int 21h
mov ah,4ch
int 21h
code ends
end
這樣就不像machine code了吧 XD
※ 編輯: wowtiger 來自: 122.125.195.189 (12/15 17:41)
推
12/15 20:51, , 2F
12/15 20:51, 2F
→
12/15 21:16, , 3F
12/15 21:16, 3F
→
12/15 21:19, , 4F
12/15 21:19, 4F
推
12/15 22:57, , 5F
12/15 22:57, 5F
討論串 (同標題文章)
ASM 近期熱門文章
PTT數位生活區 即時熱門文章