[023][匯編語言]實(shí)驗(yàn)4 [bx]和loop的使用(復(fù)制指令)

(1)向內(nèi)存 0:200 ~ 0:23F 依次傳送數(shù)據(jù)0~63(3FH)

  • 0:200~0:200~0:23F 等同于 0002:0~0002:3F
assume cs:codesg

codesg segment
     mov ax,0020h
     mov ds,ax
     mov bx,0
     mov dl,0
     
     mov cx,40h

s:   mov [bx],dl
     inc dl
     inc bx
     loop s

     mov ax,4c00h
     int 21h

codesg ends
end

  • 設(shè)置 ds寄存器0002H鲫懒,[bx]便可以訪問到內(nèi)存 0002:0~0002:3F
  • 修改 書上程序5.9 可以寫出來

(2)向內(nèi)存 0:200 ~ 0:23F 依次傳遞數(shù)據(jù) 0~63(3FH) ,程序中只能使用9條指令,9條指令包括 mov ax,4c00h int 21h 這兩條

assume cs:codesg
codesg segment

     mov ax,0020h
     mov ds,ax
     mov bl,0
     mov cx,40h

s:  mov [bx],bl
     inc bl
     loop s

     mov ax,4c00h
     int 21h

codesg ends
end
  • 使用 bx寄存器低8位寄存器bl, mov bl,0 以及mov [bx],bl 還有inc bl
  • 3F 使用 8位 足可以表示了
  • 因?yàn)槲覀冎挥玫?code>8位坪创,所以在這里inc bl就相當(dāng)于inc bx了挣惰,這里是要想清楚的
  • 有一點(diǎn) C語言編程 里面寫 array[ i ] = i 的味道
  • 修改 第(1)問的代碼 可以寫出來

(3)程序的功能是將mov ax,4c00H之前的指令復(fù)制到內(nèi)存 0:200 處呈昔,補(bǔ)全代碼,上機(jī)調(diào)試薛躬,跟蹤運(yùn)行結(jié)果

匯編語言第三版 實(shí)驗(yàn)四 第三問.png

理解題意:什么叫做 mov ax,4c00H 之前的指令 思劳?

  • 指令也是數(shù)據(jù),CS:IP 指向的就是指令棒坏,因此,mov ax,_____ 這里必然是填上 CS 的,也就是 mov ax,cs
  • 寄存器 CX 控制的是循環(huán)次數(shù)遭笋,那么 mov cx,____ 這里必然要填上一個(gè)數(shù)字坝冕,代表循環(huán)次數(shù)
  • 程序的功能是復(fù)制一系列指令,那么cx寄存器后面需要填上的數(shù)字必然與這一系列指令的個(gè)數(shù)相關(guān)

我的嘗試:簡單數(shù)了一下瓦呼,既然mov ax,4c000H 前面有十條指令喂窟,那么就先填一個(gè)十進(jìn)制的數(shù)字10好了

每條指令占用的內(nèi)存單元個(gè)數(shù).png
  • masm link debug U命令之后突然想起來,所謂的指令也是數(shù)據(jù)的一種央串,因此cx寄存器后面要填上的不是單純的指令的個(gè)數(shù)磨澡,而是 指令占用的內(nèi)存單元的個(gè)數(shù)

  • 我使用黃色字體標(biāo)出了每種指令占用的具體的內(nèi)存單元個(gè)數(shù),比如第一條 mov ax,cs占用了內(nèi)存單元從0000到0001质和,就是2個(gè)內(nèi)存單元稳摄,其余的也可以根據(jù)起始的物理地址依次計(jì)算出來

  • 最后再把占用的內(nèi)存單元個(gè)數(shù)全部加起來,得到的是 十進(jìn)制二十三饲宿,寫成 十六進(jìn)制 就是 17H,這個(gè)17H 才是填寫在 CX 寄存器 后面真正的數(shù)字

  • 實(shí)際上厦酬,也可以一眼看出來胆描,因?yàn)?mov ax,4C00h的起始地址是0017H,直接與第一條指令的0000H相減仗阅,馬上就可以得到17H

  • 不要去管循環(huán)不循環(huán)昌讲,當(dāng)你要復(fù)制什么東西的時(shí)候,只要把它當(dāng)做數(shù)據(jù)看就可以了

我的解答:完整匯編源代碼以及上機(jī)調(diào)試跟蹤

assume cs:code
code segment

    mov ax,cs
    mov ds,ax
    mov ax,0020H
    mov es,ax
    mov bx,0
    mov cx,17H

    s:  mov al,[bx]
        mov es:[bx],al
        inc bx
        loop s
        
        mov ax,4c00H
        int 21H
code ends
end
  • CX 寄存器 后面的數(shù)字修改成正確的 17H减噪,代表占用的23個(gè)內(nèi)存單元

    8位可以表示的數(shù)據(jù)占用內(nèi)存單元相同.png

  • 使用 debug 的 d命令 查看內(nèi)存單元0020處的數(shù)據(jù)短绸,看到全部正確復(fù)制過來了

    指令復(fù)制到0020處開始的內(nèi)存空間.png

問題(3)的難點(diǎn)

  • 需要真正理解 指令也是數(shù)據(jù)全都是數(shù)據(jù)
  • 具體占用的內(nèi)存單元個(gè)數(shù)要 通過 具體地上機(jī)操作 才可以數(shù)出來筹裕,寄存器CX 后面的數(shù)字當(dāng)然不是亂猜的鸠按,但是必須先寫一個(gè)數(shù)字讓代碼被編譯、連接饶碘、執(zhí)行跑起來目尖,我們才可以看到真正的內(nèi)存單元個(gè)數(shù)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市扎运,隨后出現(xiàn)的幾起案子瑟曲,更是在濱河造成了極大的恐慌,老刑警劉巖豪治,帶你破解...
    沈念sama閱讀 217,509評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件洞拨,死亡現(xiàn)場離奇詭異,居然都是意外死亡负拟,警方通過查閱死者的電腦和手機(jī)烦衣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來掩浙,“玉大人花吟,你說我怎么就攤上這事〕Γ” “怎么了衅澈?”我有些...
    開封第一講書人閱讀 163,875評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長谬墙。 經(jīng)常有香客問我今布,道長,這世上最難降的妖魔是什么拭抬? 我笑而不...
    開封第一講書人閱讀 58,441評(píng)論 1 293
  • 正文 為了忘掉前任部默,我火速辦了婚禮,結(jié)果婚禮上造虎,老公的妹妹穿的比我還像新娘傅蹂。我一直安慰自己,他們只是感情好累奈,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評(píng)論 6 392
  • 文/花漫 我一把揭開白布贬派。 她就那樣靜靜地躺著急但,像睡著了一般。 火紅的嫁衣襯著肌膚如雪搞乏。 梳的紋絲不亂的頭發(fā)上波桩,一...
    開封第一講書人閱讀 51,365評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音请敦,去河邊找鬼镐躲。 笑死,一個(gè)胖子當(dāng)著我的面吹牛侍筛,可吹牛的內(nèi)容都是我干的萤皂。 我是一名探鬼主播,決...
    沈念sama閱讀 40,190評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼匣椰,長吁一口氣:“原來是場噩夢啊……” “哼裆熙!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起禽笑,我...
    開封第一講書人閱讀 39,062評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤入录,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后佳镜,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體僚稿,經(jīng)...
    沈念sama閱讀 45,500評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評(píng)論 3 335
  • 正文 我和宋清朗相戀三年蟀伸,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蚀同。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,834評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡啊掏,死狀恐怖蠢络,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情脖律,我是刑警寧澤谢肾,帶...
    沈念sama閱讀 35,559評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站小泉,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏冕杠。R本人自食惡果不足惜微姊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望分预。 院中可真熱鬧兢交,春花似錦、人聲如沸笼痹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至晴裹,卻和暖如春被济,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背涧团。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評(píng)論 1 269
  • 我被黑心中介騙來泰國打工只磷, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人泌绣。 一個(gè)月前我還...
    沈念sama閱讀 47,958評(píng)論 2 370
  • 正文 我出身青樓钮追,卻偏偏與公主長得像,于是被迫代替她去往敵國和親阿迈。 傳聞我的和親對(duì)象是個(gè)殘疾皇子元媚,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 8086匯編 本筆記是筆者觀看小甲魚老師(魚C論壇)《零基礎(chǔ)入門學(xué)習(xí)匯編語言》系列視頻的筆記蜈膨,在此感謝他和像他一樣...
    Gibbs基閱讀 37,198評(píng)論 8 114
  • 王爽匯編全書知識(shí)點(diǎn)大綱 第一章 基礎(chǔ)知識(shí) 機(jī)器語言 匯編語言的產(chǎn)生 匯編語言的組成 存儲(chǔ)器 cpu對(duì)存儲(chǔ)器的讀寫 ...
    2c3ba901516f閱讀 2,417評(píng)論 0 1
  • 計(jì)算機(jī)通過執(zhí)行指令序列來使機(jī)器得以工作,所以對(duì)于每一系列的計(jì)算機(jī)都有指定的一組指令集供計(jì)算機(jī)使用牺荠,這組指令...
    未來科技工作室閱讀 7,994評(píng)論 1 10
  • # 常見匯編代碼 # 1. 編寫程序:比較AX,BX,CX中帶符號(hào)數(shù)的大小翁巍,將最大的數(shù)放在AX中 code...
    喝豆腐腦加糖閱讀 2,610評(píng)論 0 0
  • 橙先生的餐前故事系列 今天我的城市下了場大雪杈曲,讓那些迫不及待穿上絲襪短裙的姑娘們措手不及驰凛。辦公室的暖氣依舊開的很足...
    野廚橙先生閱讀 1,149評(píng)論 12 6