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

正文內(nèi)容

匯編語言課后習(xí)題解答(參考版)

2024-08-16 08:33本頁面
  

【正文】 。 assume cs: code, es: datadata segment a db 1,2,3,4,5,6,7,8 b dw 0data endscode segmentstart: mov ax, data mov es, ax mov si,0 mov cx,8s: mov al, a[si] mov ah,0 add b, ax inc si loop s mov ax,4c00h int 21hcode endsend start(第304頁) “在int 16h中斷例程中,一定有設(shè)置IF=1的指令。assume cs:codecode segment a dw 1,2,3,4,5,6,7,8 。不等于esc時(shí)轉(zhuǎn)移 mov ax,0b800h mov es, axinc byte ptr es:[160*12+40*2+1] 。如果是ESC掃描碼,改變顯示顏色 cmp al,1 。CS、IP入棧。對int指令進(jìn)行模擬,調(diào)用原來的int 9中斷例程 pushf 。以下為新的int 9中斷例程int9: push ax push bx push es in al,60h 。循環(huán)延時(shí),循環(huán)100000h次delay: push ax push dx mov dx,1000h mov ax,0delay1: sub ax,1 sbb dx,0 。將中斷向量表中int 9中斷例程的入口恢復(fù)為原來的地址 mov ax,0 mov es, ax push ds:[0] pop ss:[9*4] push ds:[2] pop es:[9*4+2]。z39。s: mov es:[160*12+40*2],ah 。 mov ax,0b800h mov es ,ax mov ah, 39。~39。依次顯示39。設(shè)置IF=0屏蔽中斷 mov word ptr es:[9*4],offset int9 mov word ptr es:[9*4+2],cs sti 。將原來的int 9中斷例程的入口地址保存在ds:0、ds:2單元中 mov ax, data mov ds, ax mov ax,0 mov es, ax push es:[9*4] pop ds:[0] push es:[9*4+2] pop ds:[2] 。在顯示過程中按下Esc鍵后,改變顯示的顏色。z39。a39。設(shè)置IF=1不屏蔽中斷 更改后的int 9中斷例程:。在中斷向量表中設(shè)置新的int 9中斷例程的入口地址 cli 。找出這樣的程序段,改寫他們,排除潛在的問題。(IP)=ds:[0],(CS)=ds:[2]兩條指令。標(biāo)志寄存器入棧 call dword ptr ds:[0] 。CS、IP入棧。IF和TF為flag的第9位和第8位 push bx popf 。(第282頁)(1) 仔細(xì)分析一下書中的in9中斷例程,看看是否可以精簡一下?其實(shí)在我們的int 9中斷例程中,模擬int指令調(diào)用原int 9中斷例程的程序段是可以精簡的,因?yàn)樵谶M(jìn)入中斷例程后,IF和TF都已置0,沒有必要再進(jìn)行設(shè)置了,對于程序段: pushf 。(2)int 19h中斷例程,可以由DOS提供。ok的偏移地址+bx得到s的偏移地址pop bpiretmov ax,4c00h int 21h do0end: nopcode endsend start(第259頁)判斷下面說法的正誤:(1)我們可以編程改變FFFF:0處的指令,使得CPU不去執(zhí)行BIOS中的硬件系統(tǒng)檢測和初始化程序。設(shè)置傳輸方向?yàn)檎?rep movsb mov ax,0 mov es ,ax mov word ptr es:[7ch*4],200h mov word ptr es:[7ch*4+2],0 。設(shè)置es:di指向目標(biāo)地址 mov cx, offset do0endoffset do0 。,0data endscode segmentstart: mov ax, data mov ds, ax mov si,0 mov ax,0b800h mov es, ax mov di,12*160s: cmp byte ptr [si],0 je ok mov al,[si] mov es:[di],al inc si add di,2 mov bx ,offset soffset ok int 7chok: mov ax,4c00h int 21hcode endsend start jmp near ptr s指令的功能為:(ip)=(ip)+16位移,實(shí)現(xiàn)段內(nèi)近轉(zhuǎn)移 assume cs:code code segment start:mov ax, cs mov ds, ax mov si, offset do0 。assume cs:codedata segment db 39。(第238頁)(1)用debug查看內(nèi)存,情況如下:0000:0000 68 10 A7 00 8B 01 70 0016 00 9D 03 8B 01 70 00則3號中斷源對應(yīng)的中斷處理程序入口的偏移地址的內(nèi)存單位的地址為: 0070:018b(2)存儲N號中斷源對應(yīng)的中斷處理程序入口的偏移地址的內(nèi)存單元的地址為: 4N存儲N號中斷源對應(yīng)的中斷處理程序入口的段地址的內(nèi)存單元的地址為: 4N+2 檢測點(diǎn)涉及相關(guān)內(nèi)容:一個表項(xiàng)存放一個中斷向量,也就是一個中斷處理程序的入口地址,這個入口地址包括段地址和偏移地址,一個表項(xiàng)占兩個字,高地址存放段地址,低地址存放偏移地址(第257頁) (1)7ch中斷例程如下:lp: push bp mov bp, sp dec cx jcxz lpret add [bp+2],bxlpret: pop bp iret (1)在上面的內(nèi)容中,我們用7ch中斷例程實(shí)現(xiàn)loop的功能,則上面的7ch中斷例程所能進(jìn)行的最大轉(zhuǎn)移位移是多少? 最大位移是FFFFH,即棧底與棧頂之間的位移為最大轉(zhuǎn)移位移可以轉(zhuǎn)移的范圍是 32768~32767(2)用7ch中斷例程完成jmp near ptr s指令功能,用bx向中斷例程傳送轉(zhuǎn)移位移。且運(yùn)算 al:01000101and ah,00001000B 。將psw入棧,psw的值0000000 01000101,這里已經(jīng)講學(xué)過的標(biāo)志位都標(biāo) 識出來了,沒學(xué)過的全部都當(dāng)作0分析了,結(jié)果應(yīng)該也是對的 pop ax 。如果不低于al轉(zhuǎn)到s0,繼續(xù)循環(huán) inc dx
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1