freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

匯編語(yǔ)言課后習(xí)題解答-文庫(kù)吧

2025-07-21 08:33 本頁(yè)面


【正文】 x,2 loop s mov ax,4c00h int 21hcodesg endsend start(2)下面的程序?qū)崿F(xiàn)依次用內(nèi)存0:0~0:15單元中的內(nèi)容改寫(xiě)程序中的數(shù)據(jù),數(shù)據(jù)的傳送用棧來(lái)進(jìn)行。??臻g設(shè)置在程序內(nèi)。完成程序:assume cs:codesgcodesg segment dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h dw 0,0,0,0,0,0,0,0,0,0 。10個(gè)字單元用作棧空間,所以??臻g的大小為10*2=20,化成16進(jìn)制即為14start: mov ax, codesg?;騧ov ax, cs mov ss ,ax mov sp, 24h 。或mov sp, 36 。10h+14h=24h mov ax,0 mov ds, ax mov bx,0 mov cx,8 s: push [bx] pop cs:[bx] ?;?pop ss:[bx] 。關(guān)鍵在于cs與ss此時(shí)地址相同 add bx,2 loop s mov ax,4c00h int 21hcodesg endsend start(第183頁(yè))(1) 程序如下:assume cs:codedata segment dw 2 dup (0)data endscode segment start: mov ax, data mov ds, ax mov bx,0 jmp word ptr [bx+1]code endsend start若要使jmp指令執(zhí)行后,CS:IP指向程序的第一條指令,在data段中應(yīng)該定義哪些數(shù)據(jù)? 答案①db 3 dup (0)答案②dw 2 dup (0)答案③dd 0jmp word ptr [bx+1]為段內(nèi)轉(zhuǎn)移,要CS:IP指向程序的第一條指令,應(yīng)設(shè)置ds:[bx+1]的字單元(2個(gè)字節(jié))存放數(shù)據(jù)應(yīng)為0,則(ip)=ds:[bx+1]=0簡(jiǎn)單來(lái)說(shuō)就是,只要ds:[bx+1]起始地址的兩個(gè)字節(jié)為0就可以了 (2) 程序如下:assume cs:codedata segment dd 12345678hdata endscode segment start: mov ax,data mov ds,ax mov bx,0 mov [bx], bx ?;騧ov [bx], word ptr 0 ?;騧ov [bx], offset start mov [bx+2], cs 。或mov [bx+2], cs ?;騧ov [bx+2], seg code jmp dword ptr ds:[0]code endsend start補(bǔ)全程序,使用jmp指令執(zhí)行后,CS:IP指向程序的第一條指令。 第一格可填①mov [bx],bx ②mov [bx],word ptr 0 ③mov [bx],offset start等。第二格可填①mov [bx+2],cs ②mov [bx+2],cs ③mov [bx+2],seg code等。解析:jmp dword ptr ds:[0]為段間轉(zhuǎn)移,(cs)=(內(nèi)存單元地址+2),(ip)=(內(nèi)存單元地址),要CS:IP指向程序的第一條指令,第一條程序地址cs:0,應(yīng)設(shè)置CS:IP指向cs:0程序中的mov [bx],bx這條指令,是將ip設(shè)置為0 mov [bx+2],cs,將cs這個(gè)段地址放入內(nèi)存單元 執(zhí)行后,cs應(yīng)該不變,只調(diào)整ip為0,(ip)=ds:[0]=0(3)用Debug查看內(nèi)存,結(jié)果如下:2000:1000 BE 00 06 00 00 00 ......則此時(shí),CPU執(zhí)行指令:mov ax,2000hmov es,axjmp dword ptr es:[1000h]后,(cs)= 0006H,(ip)= 00BEH 解析:jmp dword ptr為段間轉(zhuǎn)移,高位存放段地址,低位存放偏移地址(cs)=(內(nèi)存單元地址+2),(ip)=(內(nèi)存單元地址) 根據(jù)書(shū)P16,對(duì)于寄存器AX,AH為高位(前1字節(jié)為高位),AL為低位(后1字節(jié)為低位)推算出(內(nèi)存單元地址)=00BEH,(內(nèi)存單元地址+2)=0006H根據(jù)書(shū)P182,高位存放段地址(后2個(gè)字節(jié)為高位),低位存放偏移地址(前2個(gè)字節(jié)為低位)(cs)=(內(nèi)存單元地址+2),(ip)=(內(nèi)存單元地址)推算出(cs)=0006H,(ip)=00BEH.(第184頁(yè))補(bǔ)全編程,利用jcxz指令,實(shí)現(xiàn)在內(nèi)存2000H段中查找第一個(gè)值為0的字節(jié),找到后,將它的偏移地址存儲(chǔ)在dx中。assume cs:codecode segment start: mov ax,2000h mov ds, ax mov bx,0 s: mov ch,0 mov cl,[bx] jcxz ok 。當(dāng)cx=0時(shí),CS:IP指向OK inc bx jmp short s ok: mov dx, bx mov ax ,4c00h int 21hcode endsend start(第185頁(yè))補(bǔ)全編程,利用loop指令,實(shí)現(xiàn)在內(nèi)存2000H段中查找第一個(gè)值為0的字節(jié),找到后,將它的偏移地址存儲(chǔ)在dx中。assume cs:codecode segmentstart: mov ax,2000h mov ds, ax mov bx,0 s:mov cl,[bx] mov ch,0 inc cx 。只要保證cx0,才能執(zhí)行l(wèi)oop循環(huán),切記! inc bx loop s ok: dec bx mov dx, bx mov ax,4c00h int 21hcode endsend start(第191頁(yè))補(bǔ)全程序,實(shí)現(xiàn)從內(nèi)存1000:0000處開(kāi)始執(zhí)行指令。assume cs:codestack segment db 16 dup (0)stack endscode segmentstart: mov ax, stack mov ss, ax mov sp,16 mov ax, 1000h push ax mov ax, 0 push ax retfcode endsend start 執(zhí)行reft指令時(shí),相當(dāng)于進(jìn)行:pop ippop cs根據(jù)棧先進(jìn)后出原則,應(yīng)先將段地址cs入棧,再將偏移地址ip入棧。(第192頁(yè))下面的程序執(zhí)行后,ax中的數(shù)值為多少??jī)?nèi)存地址 機(jī)器碼 匯編指令 執(zhí)行
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1