版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
檢測(cè)點(diǎn)1.1
(1)1個(gè)CPU的尋址能力為8KB,那么它的地址總線的寬度為出位。
(2)1KB的存儲(chǔ)器有1024個(gè)存儲(chǔ)單元,存儲(chǔ)單元的編號(hào)從0到1023。
(3)1KB的存儲(chǔ)器燈以存儲(chǔ)8192(2A13)個(gè)b讓,1024個(gè)Bvte。
(4)1GB是1073741824(2A30)個(gè)Byte、1MB是1048576(2人20)個(gè)Byte、1KB
是是24(2(0)個(gè)Byte。
(5)8080、8088、80296、80386的地址總線寬度分另U為16根、20根、24根、32根,
則它們的尋址能力分別為9(KB)、1(MB),16(MB)、4(GB)。
(6)8080、8088,8086、80286、80386的數(shù)據(jù)總線寬度分別為8根、8根、16根、16
根、32根。則它們一次可以傳送的數(shù)據(jù)為:1(B)、[(B)、2(B)、2(B)、4(B)。
(7)從內(nèi)存中讀取1024字節(jié)的數(shù)據(jù),8086至少要讀以2次,80386至少要讀256次。
(8)在存儲(chǔ)器中,數(shù)據(jù)和程序以二進(jìn)制形式存放。
解題過程:
(1)1KB=1024B,8KB=1024B*8=2AN,N=13。
(2)存儲(chǔ)器的容量是以字節(jié)為最小單位來計(jì)算的,1KB=1024B。
(3)8Bit=1Byte,1024Byte=1KB(1KB=1024B=1024B*8Bit)。
(4)1GB=1073741824B(即2A30)1MB=1048576B(即2A20)1KB=1024B(即2A10)。
(5)一個(gè)CPU有N根地址線,則可以說這個(gè)CPU的地址總線的寬度為N。這樣的CPU
最多可以尋找2的N次方個(gè)內(nèi)存單元。(一個(gè)內(nèi)存單元=1Byte)。
(6)8根數(shù)據(jù)總線一次可以傳送8位二進(jìn)制數(shù)據(jù)(即一個(gè)字節(jié))。
(7)8086的數(shù)據(jù)總線寬度為16根(即一次傳送的數(shù)據(jù)為2B)1024B/2B=512,同理
1024B/4B=256?
(8)在存儲(chǔ)器中指令和數(shù)據(jù)沒有任何區(qū)別,都是二進(jìn)制信息。
檢測(cè)點(diǎn)2.1
(1)寫出每條匯編指令執(zhí)行后相關(guān)寄存器中的值。
movax,62627AX=F4A3H
movah,31HAX=31A3H
moval,23HAX=3123H
addax,axAX=6246H
movbx,826CHBX=826CH
movex,axCX=6246H
movax,bxAX=826CH
addax,bxAX=04D8H
moval,bhAX=0482H
movah,blAX=6C82H
addah,ahAX=D882H
addal,6AX=D888H
addal,alAX=D810H
movax,exAX=6246H
Microsoft(R)WindowsDOS
(C)CopyrightMicrosoftCorp1990-2001.
C:\DOCUME~1\ADMIN卜1>debug
-a
0C1C:0100movax,f4a3
0C1C:0103movah,31
0C1C:0105moval,23
0C1C:0107addax,ax
0C1C:0109movbx,826c
0C1C:010Cmovex,ax
0C1C:010Emovax,bx
0C1C:0110addax,bx
0C1C:0112moval,bh
0C1C:0114movah,bl
0C1C:0116addah,ah
0C1C:0118addal,6
0C1C:011Aaddal,al
0C1C:011Cmovax,ex
0C1C:011E
-r
AX=0000BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000D1=0000
DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0100NVUPElPLNZNAPONC
0C1C:0100B8A3F4MOVAX,F4A3
-t
AX=F4A3BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000
DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0103NVUPElPLNZNAPONC
0C1C:0103B431MOVAH,31
-t
AX=31A3BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000D1=0000
DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0105NVUPElPLNZNAPONC
0C1C:0105B023MOVAL,23
-t
AX=3123BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000D1=0000
DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0107NVUPElPLNZNAPONC
0C1C:010701C0ADDAX,AX
-t
AX=6246BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000D1=0000
DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0109NVUPElPLNZNAPONC
0C1C:0109BB6C82MOVBX,826C
-t
AX=6246BX=826CCX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000
DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=010CNVUPElPLNZNAPONC
0C1C:010C89C1MOVCX,AX
-t
AX=6246BX=826CCX=6246DX=0000SP=FFEEBP=0000SI=0000DI=0000
DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=010ENVUPElPLNZNAPONG
0C1C:010E89D8MOVAX,BX
-t
AX=826CBX=826CCX=6246DX=0000SP=FFEEBP=0000SI=0000D1=0000
DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0110NVUPElPLNZNAPONC
0C1C:011001D8ADDAX,BX
-t
AX=04D8BX=826CCX=6246DX=0000SP=FFEEBP=0000SI=0000D1=0000
DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0112OVUPElPLNZACPECY
0C1C:011288F8MOVAL,BH
-t
AX=0482BX=826CCX=6246DX=0000SP=FFEEBP=0000SI=0000DI=0000
DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0114OVUPElPLNZACPECY
0C1C:011488DCMOVAH,BL
-t
AX=6C82BX=826CCX=6246DX=0000SP=FFEEBP=0000SI=0000D1=0000
DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0116OVUPElPLNZACPECY
0C1C:011600E4ADDAH,AH
AX=D882BX=826CCX=6246DX=0000SP=FFEEBP=0000SI=0000D1=0000
DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0118OVUPElNGNZACPENC
0C1C:01180406ADDAL,06
-t
AX=D888BX=826CCX=6246DX=0000SP=FFEEBP=0000SI=0000DI=0000
DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=011ANVUPElNGNZNAPENC
0C1C:011A00C0ADDAL,AL
-t
AX=D810BX=826CCX=6246DX=0000SP=FFEEBP=0000SI=0000DI=0000
DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=011COVUPElPLNZACPOCY
0C1C:011C89C8MOVAX,CX
-t
AX=6246BX=826CCX=6246DX=0000SP=FFEEBP=0000SI=0000D1=0000
DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=011EOVUPEIPLNZACPOCY
0C1C:011E0B0CORCX,[SI]DS:0000=20CD
檢測(cè)點(diǎn)2.1
(2)只能使用目前學(xué)過的匯編指令,最多使用4條指令,編程計(jì)算2的4次方。
movax,2AX=2
addax,axAX=4
addax,axAX=8
addax,axAX=16
Microsoft(R)WindowsDOS
(C)CopyrightMicrosoftCorp1990-2001.
C:\DOCUME-1\ADMINM>debug
-a
0C1C:0100movax,2
0C1C:0103addax,ax
0C1C:0105addax,ax
0C1C:0107addax,ax
0C1C:0109
AX=0000BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000D1=0000
DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0100NVUPElPLNZNAPONC
0C1C:0100B80200MOVAX,0002
-t
AX=0002BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000D1=0000
DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0103NVUPElPLNZNAPONC
0C1C:010301COADDAX,AX
-t
AX=0004BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000D1=0000
DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0105NVUPElPLNZNAPONC
0C1C:010501COADDAX,AX
-t
AX=0008BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000D1=0000
DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0107NVUPElPLNZNAPONC
0C1C:010701C0ADDAX,AX
-t
AX=0010BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000D1=0000
DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0109NVUPElPLNZACPONC
0C1C:010920881615AND[BX+SI+1516],CLDS:1516=00
檢測(cè)點(diǎn)2.2
(1)給定段地址為0001H,僅通過變化偏移地址尋址,CPU的尋址范圍
為0010H到為00FH。
解題過程:
物理地址=5人*16+£人
EA的變化范圍為Oh-ffffh
物理地址范圍為(SA*16+0h)~(SA*16+ffffh)
現(xiàn)在SA=0001h,那么尋址范圍為
(0001h*16+0h)-(0001h*16+ffffh)
=0010h-1OOOfh
檢測(cè)點(diǎn)2.2
⑵有嗷據(jù)存放在內(nèi)存20000H單元中,現(xiàn)給定段地址為SA,若想用偏移地址尋到此單
元。則SA應(yīng)滿足的條件是:最小為1001H,最大為2000H。
當(dāng)段地址給定為1001H以下和2000H以上,CPU無論怎么變化偏移地址都無法尋到
20000H單元。
解題過程:
物理地址=$人*16+£人
20000h=SA*16+EA
SA=(20000h-EA)/16=2000h-EA/16
EA取最大值時(shí),SA=2000h-ffffh/16=1001h,SA為最小值
EA取最小值時(shí),SA=2000h-0h/16=2000h,SA為最大值
這里的ffffH/16=fffh是通過WIN自帶計(jì)算器算的
按位移來算確實(shí)應(yīng)該為fff.fh,這里小數(shù)點(diǎn)后的f應(yīng)該是省略了
單就除法來說,應(yīng)有商和余數(shù),但此題要求的是地址最大和最小,所以余數(shù)忽略了
如果根據(jù)位移的算法(段地址*16=16進(jìn)制左移一位),小數(shù)點(diǎn)后應(yīng)該是不能省略的
我們可以反過來再思考下,如果SA為1000h的話,小數(shù)點(diǎn)后省略
SA=1000h,EA取最大ffffh,物理地址為Iffffh,將無法尋到20000H單元
這道題不應(yīng)看成是單純的計(jì)算題
檢測(cè)點(diǎn)2.3
卜面的3條指令執(zhí)行后,cpu幾次修改IP?都是在什么時(shí)候?最后IP中的值是多少?
movax,bx
subax,ax
jmpax
答:一共修改四次
第一次:讀取movax,bx之后
第二次:讀取subax,ax之后
第三次:讀取jmpax之后
第四次:執(zhí)行jmpax修改IP
最后IP的值為0000H,因?yàn)樽詈骯x中的值為0000H,所以IP中的值也為0000H
實(shí)驗(yàn)一查看CPU和內(nèi)存,用機(jī)器指令和匯編指令編程
2實(shí)驗(yàn)任務(wù)
(1)使用Debug,將下面的程序段寫入內(nèi)存,逐條執(zhí)行,觀察每條指令執(zhí)行后,CPU中相關(guān)
寄存器中內(nèi)容的變化。
機(jī)器碼匯編指令寄存器
b8204emovax,4E20Hax=4E20H
051614addax,1416Hax=6236H
bb0020movBX,2000Hbx=2000H
01d8addax,bxax=8236H
89c3movbx,axbx=8236H
01d8addax,bxax=046CH
b81a00movax,001AHax=001AH
bb2600movbx,0026Hbx=0026H
00d8addal,blax=0040H
00deaddah,blax=2640H
00c7addbh,albx=4026H
b400movah,0ax=0040H
00d8addal,blax=0066H
049caddal,9CHax=0002H
Microsoft(R)WindowsDOS
(C)CopyrightMicrosoftCorp1990-2001.
C:\DOCUME-1\ADMINM>debug
-a
0C1C:0100movax,4?20
0C1C:0103addax,1416
0C1C:0106movbx,2000
0C1C:0109addax,bx
0C1C:010Bmovbx,ax
0C1C:010Daddax,bx
0C1C:010Fmovax,001a
0C1C:0112movbx,0026
0C1C:0115addal,bl
0C1C:0117addah,bl
0C1C:0119addbh,al
0C1C:011Bmovah,0
0C1C:011Daddal,bl
0C1C:011Faddal,9c
0C1C:0121
AX=0000BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000D1=0000
DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0100NVUPElPLNZNAPONC
0C1C:0100B8204EMOVAX,4E20
-t
AX=4E20BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000D1=0000
DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0103NVUPElPLNZNAPONC
0C1C:0103051614ADDAX,1416
-t
AX=6236BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000D1=0000
DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0106NVUPElPLNZNAPENC
0C1C:0106BB0020MOVBX,2000
-t
AX=6236BX=2000CX=0000DX=0000SP=FFEEBP=0000SI=0000D1=0000
DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0109NVUPElPLNZNAPENC
0C1C:010901D8ADDAX,BX
-t
AX=8236BX=2000CX=0000DX=0000SP=FFEEBP=0000SI=0000D1=0000
DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=010BOVUPElNGNZNAPENC
0C1C:010B89C3MOVBX,AX
-t
AX=8236BX=8236CX=0000DX=0000SP=FFEEBP=0000SI=0000D1=0000
DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=010DOVUPElNGNZNAPENC
0C1C:010D01D8ADDAX,BX
-t
AX=046CBX=8236CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000
DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=010FOVUPElPLNZNAPECY
0C1C:01OFB81A00MOVAX,001A
-t
AX=001ABX=8236CX=0000DX=0000SP=FFEEBP=0000SI=0000D1=0000
DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0112OVUPEIPLNZNAPECY
0C1C:0112BB2600MOVBX,0026
-t
AX=001ABX=0026CX=0000DX=0000SP=FFEEBP=0000SI=0000D1=0000
DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0115OVUPEIPLNZNAPECY
0C1C:011500D8ADDAL,BL
AX=0040BX=0026CX=0000DX=0000SP=FFEEBP=0000SI=0000D1=0000
DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0117NVUPElPLNZACPONC
0C1C:011700DCADDAH,BL
-t
AX=2640BX=0026CX=0000DX=0000SP=FFEEBP=0000SI=0000D1=0000
DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0119NVUPElPLNZNAPONC
0C1C:011900C7ADDBH,AL
-t
AX=2640BX=4026CX=0000DX=0000SP=FFEEBP=0000SI=0000D1=0000
DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=011BNVUPElPLNZNAPONG
0C1C:011BB400MOVAH,00
-t
AX=0040BX=4026CX=0000DX=0000SP=FFEEBP=0000SkOOOOD1=0000
DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=011DNVUPElPLNZNAPONC
0C1C:011D00D8ADDAL,BL
-t
AX=0066BX=4026CX=0000DX=0000SP=FFEEBP=0000SI=0000D1=0000
DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=011FNVUPElPLNZNAPENC
0C1C:011F049CADDAL.9C
-t
AX=0002BX=4026CX=0000DX=0000SP=FFEEBP=0000SI=0000D1=0000
DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0121NVUPElPLNZACPOCY
0C1C:0121D3990075RCRWORDPTR[BX+DI+7500],CLDS:B526=0000
-q
實(shí)驗(yàn)一查看CPU和內(nèi)存,用機(jī)器指令和匯編指令編程
(2)將下面的3條指令寫入從2000:0開始的內(nèi)存單元中,利用這3條指令計(jì)算2的8次方。
movax,1
addax,ax
jmp2000:0003
Microsoft(R)WindowsDOS
(C)CopyrightMicrosoftCorp1990-2001.
C:\DOCUME-1\ADMINH1>debug
-a2000:0
2000:0000movax,1
2000:0003addax,ax
2000:0005jmp2000:0003
2000:0007
-rcs
CS0C1C
:2000
-rip
IP0100
:0000
-r
AX=0000BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000D1=0000
DS=0C1CES=0C1CSS=0C1CCS=2000IP=0000NVUPElPLNZNAPONC
2000:0000B80100MOVAX,0001
-t
AX=0001BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000D1=0000
DS=0C1CES=0C1CSS=0C1CCS=2000IP=0003NVUPElPLNZNAPONC
2000:000301COADDAX,AX
-t
AX=0002BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000D1=0000
DS=0C1CES=0C1CSS=0C1CCS=2000IP=0005NVUPElPLNZNAPONC
2000:0005EBFCJMP0003
-t
AX=0002BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000D1=0000
DS=0C1CES=0C1CSS=0C1CCS=2000IP=0003NVUPElPLNZNAPONC
2000:000301COADDAX,AX
-t
AX=0002BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000D1=0000
DS=0C1CES=0C1CSS=0C1CCS=2000IP=0003NVUPElPLNZNAPONC
2000:000301C0ADDAX,AX
-t
AX=0004BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000D1=0000
DS=0C1CES=0C1CSS=0C1CCS=2000IP=0005NVUPElPLNZNAPONC
2000:0005EBFCJMP0003
-t
AX=0004BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000D1=0000
DS=0C1CES=0C1CSS=0C1CCS=2000IP=0003NVUPElPLNZNAPONC
2000:000301COADDAX,AX
-t
AX=0008BX=OOOOCX=OOOODX=OOOOSP=FFEEBP=OOOOSI=OOOOD1=0000
DS=0C1CES=0C1CSS=0C1CCS=2000IP=0005NVUPElPLNZNAPONC
2000:0005EBFCJMP0003
-t
AX=0008BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000D1=0000
DS=0C1CES=0C1CSS=0C1CCS=2000IP=0003NVUPElPLNZNAPONC
2000:000301COADDAX,AX
-q
實(shí)驗(yàn)一查看CPU和內(nèi)存,用機(jī)器指令和匯編指令編程
(3)查看內(nèi)存中的內(nèi)容
PC主板上的ROM中有個(gè)?出產(chǎn)日期,在內(nèi)存FFFOOH-FFFFFH的某兒個(gè)單元中,請(qǐng)找至IJ
這個(gè)出產(chǎn)日期并試圖改變它。
Microsoft(R)WindowsDOS
(C)CopyrightMicrosoftCorp1990-2001.
C:\DOCUME-1\ADMINI-1>debug
-dffff:Of
FFFF:0000EA5BE000F031322F-32352F303700FC59.[...12/25/07..Y
-q
地址C0000-FFFFF的內(nèi)存單元為只讀存儲(chǔ)器,寫入數(shù)據(jù)操作是無效的。
因此出產(chǎn)日期無法改變。
下面內(nèi)容摘自于網(wǎng)上
還有另?種情況,如果你發(fā)現(xiàn)你能修改ROM中的生產(chǎn)日期,那么原因如下:
每個(gè)計(jì)算機(jī)的結(jié)構(gòu)都不一樣,教材考慮的是普通8086PC機(jī)上的效果,個(gè)別計(jì)算機(jī)的效果
可能不同。
也就是說在你的計(jì)算機(jī)中這個(gè)內(nèi)存是可修改的
所以,認(rèn)為所有的計(jì)算機(jī)某些地址的內(nèi)存不能修改是片面的。
書上說rom是只讀的你就不去驗(yàn)證了嗎?如何驗(yàn)證呢?
我覺得這個(gè)實(shí)驗(yàn)最大的好處不是讓我們驗(yàn)證了這個(gè)知識(shí)點(diǎn),而是提醒我們要有懷疑的精神,
懷疑之后再去驗(yàn)證才能跟深刻的理解知識(shí),提升自己的能力,甚至還會(huì)發(fā)現(xiàn)有些書上描述的
不準(zhǔn)確甚至錯(cuò)誤的地方。
-引用這幾本書綜合研究的三個(gè)問題:
都再用,我們就非得用嗎?
規(guī)定了,我們就只知道遵守嗎?
司空見慣,我們就不懷疑了嗎?
盡信書不如無書大概也有這個(gè)道理吧人_八
檢測(cè)點(diǎn)3.1
(1)在DEBUG中,用"D0:0If”查看內(nèi)存,結(jié)果如下:
0000:00007080F030EF6030E2-0080801266202260
0000:00106226E6D6CC2E3C3B-ABBA000026066688
下面的程序執(zhí)行前,AX=0,BX=0,寫出每條匯編指令執(zhí)行完后相關(guān)寄存器中的值
movax,1
movds,ax
movax,[0000]ax=2662H
movbx,[0001]bx=E626H
movax,bxax=E626H
movax,[0000]ax=2662H
movbx,[0002]bx=D6E6H
addax,bxax=FD48H
addax,[0004]ax=2C14H
movax,0ax=0
moval,[0002]ax=00e6H
movbx,0bx=0
movbl,[000c]bx=0026H
addal,blax=POOCH
用DEBUG進(jìn)行驗(yàn)證:
Microsoft(R)WindowsDOS
(C)CopyrightMicrosoftCorp1990-2001.
C:\DOCUME-1\000>debug
-e0000:0
0000:000068.7010.80A7,f000.308B.ef01.6070.3000.e2
0000:000816.0000.80AF.8003.128B.6601.2070.2200.60
0000:00108B.6201.267O.e600.d6B9.cc06.2e14.3c02.3b
0000:001840.abO7.ba14.0002.00FF.2603.0614.6602.88
-d0000:01f
0000:00007080F030EF6030E2-0080801266202260p..O.'O..…f
0000:00106226E6D6CC2E3C3B-ABBA000026066688b&...&.f.
-a
0DB4:0100movax,1
0DB4:0103movds,ax
0DB4:0105movax,[0000]
0DB4:0108movbx,[0001]
0DB4:01OCmovax,bx
0DB4:01OEmovax,[0000]
0DB4:0111movbx,[0002]
0DB4:0115addax,bx
0DB4:0117addax,[0004]
0DB4:011Bmovax,0
0DB4:011Emoval,[0002]
0DB4:0121movbx,0
0DB4:0124movbl,[000c]
0DB4:0128addal,bl
0DB4:012A
-r
AX=OOOOBX=OOOOCX=OOOODX=OOOOSP=FFEEBP=OOOOSI=0000D1=0000
DS=0DB4ES=0DB4SS=0DB4CS=0DB4IP=0100NVUPElPLNZNAPONC
0DB4:0100B80100MOVAX,0001
-t
AX=0001BX=OOOOCX=0000DX=0000SP=FFEEBP=OOOOSI=0000D1=0000
DS=0DB4ES=0DB4SS=0DB4CS=0DB4IP=0103NVUPElPLNZNAPONC
0DB4:01038ED8MOVDS,AX
-t
AX=0001BX=0000CX=0000DX=0000SP=FFEEBP=OOOOSI=0000D1=0000
DS=0001ES=0DB4SS=0DB4CS=0DB4IP=0105NVUPElPLNZNAPONC
0DB4:0105A10000MOVAX,[0000]DS:0000=2662
AX=2662BX=OOOOCX=OOOODX=OOOOSP=FFEEBP=OOOOSI=OOOOD1=0000
DS=0001ES=0DB4SS=0DB4CS=0DB4IP=0108NVUPElPLNZNAPONC
0DB4:01088B1E0100MOVBX,[0001]DS:0001=E626
-t
AX=2662BX=E626CX=0000DX=0000SP=FFEEBP=0000SI=0000D1=0000
DS=0001ES=0DB4SS=0DB4CS=0DB4IP=010CNVUPElPLNZNAPONC
0DB4:010C89D8MOVAX,BX
-t
AX=E626BX=E626CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000
DS=0001ES=0DB4SS=0DB4CS=0DB4IP=010ENVUPElPLNZNAPONC
0DB4:010EA10000MOVAX,[0000]DS:0000=2662
-t
AX=2662BX=E626CX=0000DX=0000SP=FFEEBP=0000SI=0000D1=0000
DS=0001ES=0DB4SS=0DB4CS=0DB4IP=0111NVUPElPLNZNAPONC
0DB4:01118B1E0200MOVBXJ0002]DS:0002=D6E6
-t
AX=2662BX=D6E6CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000
DS=0001ES=0DB4SS=0DB4CS=0DB4IP=0115NVUPElPLNZNAPONC
0DB4:011501D8ADDAX,BX
-t
AX=FD48BX=D6E6CX=0000DX=0000SP=FFEEBP=0000SI=0000D1=0000
DS=0001ES=0DB4SS=0DB4CS=0DB4IP=0117NVUPElNGNZNAPENC
0DB4:011703060400ADDAX,[0004]DS:0004=2ECC
-t
AX=2C14BX=D6E6CX=0000DX=0000SP=FFEEBP=0000SI=0000D1=0000
DS=0001ES=0DB4SS=0DB4CS=0DB4IP=011BNVUPElPLNZACPECY
0DB4:011BB80000MOVAX,0000
-t
AX=0000BX=D6E6CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000
DS=0001ES=0DB4SS=0DB4CS=0DB4IP=011ENVUPElPLNZACPECY
0DB4:011EA00200MOVAL,[0002]DS:0002=E6
-t
AX=00E6BX=D6E6CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000
DS=0001ES=0DB4SS=0DB4CS=0DB4IP=0121NVUPElPLNZACPECY
0DB4:0121BBOOOOMOVBX,0000
AX=00E6BX=0000CX=0000DX=0000SP=FFEEBP=OOOOSI=0000D1=0000
DS=0001ES=0DB4SS=0DB4CS=0DB4IP=0124NVUPElPLNZACPECY
0DB4:01248A1E0C00MOVBLJOOOC]DS:000C=26
AX=00E6BX=0026CX=0000DX=0000SP=FFEEBP=OOOOSI=0000D1=0000
DS=0001ES=0DB4SS=0DB4CS=0DB4IP=0128NVUPElPLNZACPECY
0DB4:012800D8ADDAL,BL
-t
AX=000CBX=0026CX=0000DX=0000SP=FFEEBP=OOOOSI=0000DI=0000
DS=0001ES=0DB4SS=0DB4CS=0DB4IP=012ANVUPElPLNZNAPECY
0DB4:012AC6061799FFMOVBYTEPTR[9917],FFDS:9917=9A
檢測(cè)點(diǎn)3.1
(2)內(nèi)存中的情況如圖3.6所示
各寄存器的初始值:cs=2000h,ip=0,ds=1000h,ax=0,bx=O:
①寫出CPU執(zhí)行的指令序列(用匯編指令寫出)。
②寫出CPU執(zhí)行每條指令后,CS、IP和相關(guān)寄存器的數(shù)值。
③再次體會(huì):數(shù)據(jù)和程序仃區(qū)別嗎?如何確定內(nèi)存中的信息哪些是數(shù)據(jù),哪些是程序?
圖3.6內(nèi)存情況示意
指令序列CSIPDSAXBX
初始值2000h0000
1movax,6622h2000h3h06622h0
2jmp0ff0:0100ffOhlOOh06622h0
3movax,2000hffOh103h02000h0
4movds,axffOh105h2000h2000h0
5movax,[8]ffOh108h2000hc389h0
6movax,[2]ffOhlObh2000hea66h0
檢測(cè)點(diǎn)3.2
(1)補(bǔ)全下面的程序,使其可以將10000H-1000FH中的8個(gè)字,逆序拷貝到
20000H-2000FH中。
movax,1000H
movds,ax
movax,2000H
movss,ax
movSD,1Oh
push[0]
push[2]
push[4]
push[6]
push[8]
push[A]
push[C]
push[E]
檢測(cè)點(diǎn)3.2
(2)補(bǔ)全下而的程序,使其可以將10000H-1000FH中的8個(gè)字,逆序拷貝到
20000H-2000FH中。
movax,2000H
movds,ax
movaxJOOOH
movss,ax
movsp,0
pop同
pop[C]
pop[a]
pop[8]
pop[6]
pop[4]
pop[2]
pop[0]
實(shí)驗(yàn)2用機(jī)器指令和匯編指令編程
(1)使用DEBUG,將上面的程序段寫入內(nèi)存,逐條執(zhí)行,根據(jù)指令執(zhí)行后的實(shí)際運(yùn)行情
況填空。
movax,ffff
movds,ax
movax,2200
movss,ax
movsp,O1OO
movax,[O];ax=5BEAH
addax,[2];ax=5CCAH
movbx,[4];bx=31F0H
addbx,[6];bx=6122H
pushax;sp=OOFEH,修改的內(nèi)存單元地址是2200:00FE內(nèi)容為5CCAH
pushbx;sp=OOFCH,修改的內(nèi)存單元地址是2200Q0FC內(nèi)容為6122H
popax;sp=OOFCH,ax=6122H
popbx;sp=OOFEH,bx=5CCAH
push[4];sp=OOFEH,修改的內(nèi)存單元地址是2200:00FE內(nèi)容為31F0
push[6];sp=OOFCH,修改的內(nèi)存單元地址是2200:00FC內(nèi)容為2F32
此實(shí)驗(yàn)答案不定,需根據(jù)每臺(tái)機(jī)器的實(shí)際運(yùn)行情況。
Microsoft(R)WindowsDOS
(C)CopyrightMicrosoftCorp1990-2001.
C:\DOCUME-1\ADMINI-1>debug
-a
0C1C:0100movax,ffff
0C1C:0103movds,ax
0C1C:0105movax,2200
0C1C:0108movss,ax
0C1C:010Amovsp,0100
0C1C:010Dmovax,[0]
0C1C:0110addax,[2]
0C1C:0114movbx,[4]
0C1C:0118addbx,[6]
0C1C:011Cpushax
0C1C:011Dpushbx
0C1C:011Epopax
0C1C:011Fpopbx
0C1C:0120push[4]
0C1C:0124push[6]
0C1C:0128
AX=0000BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000D1=0000
DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0100NVUPElPLNZNAPONC
0C1C:0100B8FFFFMOVAX,FFFF
AX=FFFFBX=OOOOCX=OOOODX=OOOOSP=FFEEBP=OOOOSI=OOOODI=OOOO
DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0103NVUPElPLNZNAPONC
0C1C:01038ED8MOVDS,AX
-t
AX=FFFFBX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000
DS=FFFFES=0C1CSS=0C1CCS=0C1CIP=0105NVUPElPLNZNAPONC
0C1C:0105B80022MOVAX,2200
-t
AX=2200BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000D1=0000
DS=FFFFES=0C1CSS=0C1CCS=0C1CIP=0108NVUPElPLNZNAPONC
0C1C:01088ED0MOVSS,AX
AX=2200BX=0000CX=0000DX=0000SP=0100BP=0000SI=0000DI=0000
DS=FFFFES=0C1CSS=2200CS=0C1CIP=010DNVUPElPLNZNAPONC
0C1C:010DA10000MOVAXJ0000]DS:0000=5BEA
-df
FFFF:OOOOEA5BE000F031322F-32352F303700FC59.[...12/25/07..Y
AX=5BEABX=0000CX=0000DX=0000SP=0100BP=0000SI=0000DI=0000
DS=FFFFES=0C1CSS=2200CS=0C1CIP=0110NVUPElPLNZNAPONC
0C1C:011003060200ADDAX,[0002]DS:0002=00E0
AX=5CCABX=0000CX=0000DX=0000SP=0100BP=0000SI=0000D1=0000
DS=FFFFES=0C1CSS=2200CS=0C1CIP=0114NVUPElPLNZNAPENC
0C1C:01148B1E0400MOVBX,[0004]DS:0004=31F0
AX=5CCABX=31F0CX=OOOODX=OOOOSP=0100BP=OOOOSI=OOOODI=OOOO
DS=FFFFES=OC1CSS=2200CS=OC1CIP=0118NVUPElPLNZNAPENC
OC1C:O118031E0600ADDBX,[0006]DS:0006=2F32
-t
AX=5CCABX=6122CX=OOOODX=OOOOSP=0100BP=OOOOSI=OOOOD1=0000
DS=FFFFES=0C1CSS=2200CS=0C1CIP=011CNVUPElPLNZNAPENC
0C1C:011C50PUSHAX
-t
AX=5CCABX=6122CX=OOOODX=OOOOSP=OOFEBP=OOOOSI=OOOOD1=0000
DS=FFFFES=0C1CSS=2200CS=0C1CIP=011DNVUPElPLNZNAPENC
0C1C:011D53PUSHBX
AX=5CCABX=6122CX=0000DX=0000SP=OOFCBP=OOOOSI=OOOOD1=0000
DS=FFFFES=0C1CSS=2200CS=0C1CIP=011ENVUPElPLNZNAPENC
0C1C:011E58POPAX
AX=6122BX=6122CX=0000DX=0000SP=OOFEBP=OOOOSI=0000DI=0000
DS=FFFFES=0C1CSS=2200CS=0C1CIP=011FNVUPElPLNZNAPENC
0C1C:011F5BPOPBX
-t
AX=6122BX=5CCACX=0000DX=0000SP=0100BP=0000SI=0000D1=0000
DS=FFFFES=0C1CSS=2200CS=0C1CIP=0120NVUPElPLNZNAPENC
0C1C:0120FF360400PUSH[0004]DS:0004=31F0
-t
AX=6122BX=5CCACX=0000DX=0000SP=OOFEBP=OOOOSI=0000DI=0000
DS=FFFFES=0C1CSS=2200CS=0C1CIP=0124NVUPElPLNZNAPENC
0C1C:0124FF360600PUSH[0006]DS:0006=2F32
-t
AX=6122BX=5CCACX=0000DX=0000SP=OOFCBP=OOOOSI=OOOOD1=0000
DS=FFFFES=0C1CSS=2200CS=0C1CIP=0128NVUPElPLNZNAPENC
0C1C:012816PUSHSS
實(shí)驗(yàn)4[bx]和loop的使用
(1)編程,向內(nèi)存0:200~0:23f依次傳遞數(shù)據(jù)0~63(3fh)。
這是個(gè)比較另類的做法,傳統(tǒng)做法請(qǐng)參考實(shí)驗(yàn)4(2)
assumecs:code
codesegment
movbx,20h
movss,bx
movsp,40h
movbx,3f3eh
movex,32
s:pushbx
subbx,202h
loops
movax,4c00h
int21h
codeends
end
C:\DOCUME-1\ADMINH1>debugsy4-2.exe
-d0:20023f
0000:02000000000000000000-0000000000000000
0000:02100000000000000000-0000000000000000
0000:02200000000000000000-0000000000000000
0000:02300000000000000000-0000000000000000
-u
0C79:0000BB2000MOVBX,0020
0C79:00038ED3MOVSS,BX
0C79:0005BC4000MOVSP,0040
0C79:0008BB3E3FMOVBX.3F3E
0C79:000BB92000MOVCX,0020
0C79:000E53PUSHBX
0C79:000F81EB0202SUBBX,0202
0C79:0013E2F9LOOP000E
0C79:0015B8004CMOVAX,4C00
0C79:0018CD21INT21
0C79:001A8600XCHGAL,[BX+SI]
0C79:001CFF508DCALL[BX+SI-73]
0C79:001F46INCSI
-g0015
AX=0000BX=FEFECX=0000DX=0000SP=0000BP=0000SI=0000D1=0000
DS=0C69ES=0C69SS=0020CS=0C79IP=0015NVUPElNGNZACPOCY
0C79:0015B8004CMOVAX,4C00
-d0:20023f
0000:02000001020304050607-08090AOBOCODOEOF................
0000:02101011121314151617-18191A1B1C1D1E1F................
0000:02202021222324252627-28292A2B2C2D2E2F!"#$%&'()*+,-./
0000:02303031323334353637-38393A3B3C3D3E3F0123456789:;<=>?
AX=4C00BX=FEFECX=0000DX=0000SP=0000BP=OOOOSI=0000DI=0000
DS=0C
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 煙囪安全評(píng)估協(xié)議
- 通信光纜鋪設(shè)圍擋施工合同
- 數(shù)據(jù)泄露賠償協(xié)議
- 石家莊市電影院租賃合同
- 設(shè)備轉(zhuǎn)讓協(xié)議書簽訂
- 房地產(chǎn)合同定制
- 城市文化國標(biāo)施工合同樣本
- 體育館工程圍墻施工合同
- 商業(yè)大樓硬化施工合同
- 教育機(jī)構(gòu)教師勞動(dòng)合同樣本
- 2024年01月11032成本管理期末試題答案
- 年高考新課標(biāo)I卷語文試題講評(píng)課件
- 2024年高中班主任德育工作計(jì)劃(5篇)
- 浙江省嘉興市2023-2024學(xué)年高二上學(xué)期1月期末檢測(cè)數(shù)學(xué)試題
- 2024-2025學(xué)年語文二年級(jí)上冊(cè) 部編版期末測(cè)試卷 (含答案)
- 廢棄油管道注漿施工方案
- 2021-2022學(xué)年廣東省深圳市龍崗區(qū)六年級(jí)上學(xué)期期末英語試卷
- 資金托盤業(yè)務(wù)協(xié)議
- 消防水帶使用培訓(xùn)
- 電力設(shè)備維護(hù)保養(yǎng)計(jì)劃手冊(cè)
- 滑坡治理工程監(jiān)測(cè)實(shí)施方案
評(píng)論
0/150
提交評(píng)論