a100
mov cl,04;cl=4
shl dx,cl;dx左移四位,如果dx=8765,那就擠掉8,=8760
mov bx,0000;bx暫存器清零
mov bl,ah;ax的高八位給bx的低八位
shr bx,cl;bx右移四位,導致ax的高八位只剩高四位,也就是如果ax=4321,那麼本來轉過去的43只剩4,達到目的
and dl,f0;dx的第八位的後四位清零
add dl,bl;把bl給dl,效果就是di:***x0000+0000yyyy
shl ax,cl;成功把數轉過去了,ax就可以左移四位了
int 3;結束
r ax
r dx
附圖
執行前 dx=8765 ax=4321 執行後 dx=7654 ax=3210
組合語言 手記4
簡單的彙編指令 cpu執行後,暫存器中的資料改變為如下 cpu訪問記憶體單元時要給出記憶體單元的位址。所有的記憶體單元構成的儲存空間是乙個一維的線性空間。這個唯一的位址就是實體地址。16位結構描述了乙個cpu具有一下幾個方面特徵 1 運算器一次最多可以處理16位的資料。2 暫存器的最大寬度為16位。...
組合語言 手記4
簡單的彙編指令 cpu執行後,暫存器中的資料改變為如下 cpu訪問記憶體單元時要給出記憶體單元的位址。所有的記憶體單元構成的儲存空間是乙個一維的線性空間。這個唯一的位址就是實體地址。16位結構描述了乙個cpu具有一下幾個方面特徵 1 運算器一次最多可以處理16位的資料。2 暫存器的最大寬度為16位。...
64位組合語言簡介
現在已經是64位的時代了,x86 64 amd64 平台將是下一代計算機的體系結構,我們開發作業系統的當然要對x86 64的彙編有所了解。1.x86 64的暫存器 x86 64較x86 32多了8個通用暫存器,而且,每個通用暫存器都是64位寬,它們是 rax,rbx,rcx,rdx,rsi,rdi,...