第二章
檢查點2.1
(1)寫成每條彙編指令執行後相關暫存器中的值。
mov ax,62627 ax = 0f4a3h
mov ah,31h ax = 31a3h
mov al,23h ax = 3123h
add ax,ax ax = 6246h
mov bx,826ch bx = 826ch
mov cx,ax cx = 6246h
mov ax,bx ax = 826ch
add ax,bx ax = 04d8h
溢位mov al,bh ax = 0482h
mov ah,bl ax = 6c82h
add ah,ah ax = d882h
add al,6 ax = d888h
add al,al ax = d810h
mov ax,cx ax = 6246h
(2)只能使用目前學過的彙編指令,最多使用4條指令,計算2的4次方。
mov ax,2
add ax,ax
add ax,ax
add ax,ax
檢測點2.2
(1)給定段位址為0001h,僅通過變化偏移位址定址,cpu的定址範圍為00010h
到1000fh
(2)有一資料存放在記憶體20000h單元中,現給定段位址為sa,若想用偏移位址尋到此單元。則sa應滿足的條件是最小為1001h
,最大為2000h
不能通過mov 直接修改ip
可以通過無條件跳轉指令jmp 修改cs、ip
檢查點2.3
下面3條指令執行後,cpu幾次修改ip?都是在什麼時候?最後ip的值是多少?
mov ax,bx
sub ax,ax
jmp ax
四次,第一次 讀取 mov ax,bx 之後,
第二次 讀取 sub ax,ax
第三次 讀取 jmp ax 之後
第四次 執行jmp ax,修改ip值,此時ip值為0.
王爽彙編第二版第9章
無條件跳轉指令jmp jmp short 標號 8位位移 jmp near ptr 標號 16位位移 jmp far ptr 標號 檢測點9.1 1 assume cs code data segment dw 0,offset start data ends code segment start ...
王爽彙編第二版第10章
ret pop ip retf pop ip pop cs 檢測點10.1 補全程式,實現從記憶體1000 0000處開始執行指令 assume cs code stack segment db 16 dup 0 stack ends code segment start mov ax,stack ...
王爽彙編第二版實驗5
1 assume cs code,ds data,ss stack data segment dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h data ends stack segment dw 0,0,0,0,0,0,0,0 stack end...