檢測(cè)點(diǎn)2.1
-
mov add 指令
檢測(cè)點(diǎn)2.1 寄存器內(nèi)容變化過程 只有mov、add,四條語(yǔ)句完成計(jì)算2的四次方
2^4 = 16 = 2*2*2*2
2+2=4
4+4=8
8+8=16
mov ax,2
add ax,ax
add ax,ax
add ax,ax
十進(jìn)制數(shù)62627 轉(zhuǎn)換成 十六進(jìn)制 F4A3H
- H 后綴表示十六進(jìn)制數(shù)
- 十六進(jìn)制數(shù)
十六進(jìn)制
1 2 3 4 5 6 7 8 9 A B C D E F
A 表示十進(jìn)制的10 以此類推
- 在線轉(zhuǎn)換工具 Decimal to Hex
https://codebeautify.org/decimal-hex-converter
Decimal to Hex - 手工計(jì)算,先轉(zhuǎn)換成二進(jìn)制,再用8421碼寫成十六進(jìn)制
62627
1111010010100011
1111 0100 1010 0011
F 4 A 3
怎么來(lái)的呢?
以0100舉例
0100
8421
只有4對(duì)應(yīng)的位子是1
0*8 + 1*4 + 0*2 + 0*1 = 4
熟練之后直接就是 0+4+0+0=4
更熟練之后一眼就看出只有4
4無(wú)論在十進(jìn)制還是十六進(jìn)制都是4
所以最終結(jié)果里這里寫成4
再以1010舉例
1010
8421
對(duì)應(yīng)就是8+2=10
10再寫成A
匯編指令不區(qū)分大小寫
mov ax,bx
MOV AX,BX
匯編指令與高級(jí)語(yǔ)言
mov ax,8 ax=8
mov ax,bx ax=bx
add ax,bx ax=ax+bx
16位寄存器AX 高位寄存器AH 低位寄存器AL
- AX 是 16位寄存器
- AH AL 是8位寄存
- AH是AX的高8位
- AL是AX的低8位
AX
----------
AH | AL
- 不同的角度看待AX
以二進(jìn)制數(shù) 1010 0011 舉例
AX 1010 0011
十六進(jìn)制 A3
十進(jìn)制 163
AH 是AX 高8位
AH 1010
十六進(jìn)制 A
十進(jìn)制 10
AL 是AX低8位
AL 0011
十六進(jìn)制 3
十進(jìn)制 3
三種讀法會(huì)產(chǎn)生三種不同的結(jié)果
- 使用8位寄存器,超過8位可以表示的數(shù)據(jù)丟失
mov ah,A8H
add ah,90
A-代表十進(jìn)制的10
10+9=19=16+3
0+8=8
說(shuō)明需要進(jìn)一位,但是ah只有8位,所以進(jìn)位丟失
ah 里面的內(nèi)容會(huì)變成 38H
- 8位寄存器最大存放的十進(jìn)制數(shù)為255(2^8-1)
以下是錯(cuò)誤指令
mov al,666
666 超過了255 不能被放到8位寄存器al中
- 不能再8位寄存器和16寄存器之間傳遞數(shù)據(jù)
以下是錯(cuò)誤指令
mov al,ax
al 是ax的高8位寄存器
ax是16位寄存器
兩個(gè)之間不能傳遞數(shù)據(jù)
寄存器與CPU
- CPU 包括
運(yùn)算器 +寄存器+控制器+內(nèi)部總線 - CPU 的重要部件是寄存器
- 寄存器的作用是存儲(chǔ)數(shù)據(jù)

