国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

匯編語言輸出字符的方法 材料匯編目錄怎么弄?

答:資料匯編目錄的操作步驟如下。1.將光標(biāo)放在前言頁的最后一個(gè)字符后,單擊插入-分隔符-下一頁-確定。2.在下一個(gè)生成的頁面上制作目錄,點(diǎn)擊插入-引用-索引和目錄-目錄-顯示級(jí)別設(shè)置為1-確定。3.刪

答:資料匯編目錄的操作步驟如下。1.將光標(biāo)放在前言頁的最后一個(gè)字符后,單擊插入-分隔符-下一頁-確定。2.在下一個(gè)生成的頁面上制作目錄,點(diǎn)擊插入-引用-索引和目錄-目錄-顯示級(jí)別設(shè)置為1-確定。

3.刪除 "前言和生成的目錄中的行。4.更改頁碼(1)將光標(biāo)放在前言頁,點(diǎn)擊插入-頁碼-格式-將數(shù)字格式改為羅馬數(shù)字(ⅰ,ⅱ,ⅲ)-確定。(2)將光標(biāo)放在這一頁目錄中,點(diǎn)擊插入-頁碼-去掉首頁頁碼前的勾號(hào)-格式-將起始頁碼改為0-確定。(3)右鍵單擊目錄-更新字段-僅更新頁碼。

匯編語言中的標(biāo)簽受某些規(guī)則的約束:

1.不能是程序集中的關(guān)鍵字,如DB、DW、

首先,dos必須支持中文顯示。

匯編語言通過調(diào)用控制臺(tái)輸出程序?qū)⒁粋€(gè)字符輸出到顯示區(qū)。比如要顯示字符A,就需要將字符A的ASCII碼傳送給顯示程序(這個(gè)顯示程序是BIOS系統(tǒng)中的一個(gè)顯示子程序,是一個(gè)軟中斷調(diào)用)。

普通的中文編碼是指兩個(gè)特殊的ASCII碼顯示一個(gè)漢字。得到要顯示的漢字的兩個(gè)ASCII碼后,可以連續(xù)調(diào)用顯示程序,將這兩個(gè)ASCII碼依次提交給顯示程序。

1.注冊(cè)

共有16個(gè)32位寄存器,即:

4個(gè)數(shù)據(jù)寄存器(EAX、EBX、ECX、EDX)。

2個(gè)索引和指針寄存器(ESI和EDI);2個(gè)指針寄存器(ESP和EBP)。

6個(gè)段寄存器(ES、CS、SS、DS、FS、GS)。

1指令指針寄存器(EIP);1個(gè)標(biāo)志寄存器(EFlags)。

2.數(shù)據(jù)寄存器

數(shù)據(jù)寄存器主要用于存儲(chǔ)操作數(shù)和運(yùn)算結(jié)果等信息,從而節(jié)省了讀取操作數(shù)時(shí)占用總線和訪問存儲(chǔ)器所需的時(shí)間。

一個(gè)32位CPU有四個(gè)32位通用寄存器:EAX、EBX、ECX和EDX。對(duì)低16位數(shù)據(jù)的訪問不會(huì)影響高16位。

這些低16位寄存器分別命名為AX、BX、CX和DX,與之前CPU中的寄存器一致。

四個(gè)16位寄存器可以分成八個(gè)獨(dú)立的8位寄存器(ax: ah ~ al,bx: BH ~ bl,CX: ch ~ cl: dx: dh~dl).

每個(gè)寄存器都有自己的名稱,可以獨(dú)立訪問。程序員可以使用這個(gè) "可分離 "靈活處理字的數(shù)據(jù)寄存器特性/

字節(jié)的信息。

AX和al通常被稱為累加器,使用累加器的運(yùn)算可能需要較少的時(shí)間。累加器可用于乘法、除法、輸入/輸出和其他運(yùn)算。

它們經(jīng)常被使用。

BX被稱為基址寄存器,可以用作內(nèi)存指針。

CX被稱為計(jì)數(shù)寄存器,用于控制循環(huán)和字符串操作期間的周期數(shù)。在位操作中,移位多個(gè)位時(shí),使用cl。

指示偏移量的位數(shù)。

DX稱為數(shù)據(jù)寄存器,可用于參與默認(rèn)操作數(shù)的運(yùn)算,并在乘法和除運(yùn)算時(shí)存儲(chǔ)I/O的端口地址。

在16位CPU中,AX、BX、CX和DX can t用作基址和變址寄存器來存儲(chǔ)存儲(chǔ)單元的地址,但在32位CPU中。

它的32位寄存器EAX、EBX、ECX和EDX不僅能傳輸數(shù)據(jù)、暫存數(shù)據(jù)和保存算術(shù)和邏輯運(yùn)算結(jié)果,而且

作為指針寄存器,這些32位寄存器用途更廣。

3.變址寄存器

32位CPU有兩個(gè)32位通用寄存器ESI和EDI,其低16位對(duì)應(yīng)于前一個(gè)CPU中的SI和DI,以及低16位數(shù)據(jù)

訪問不會(huì)影響高16位數(shù)據(jù)。

ESI、EDI、SI、DI稱為變址寄存器,主要用來存儲(chǔ)一個(gè)段中存儲(chǔ)單元的偏移量,它們可以用來實(shí)現(xiàn)各種存儲(chǔ)器。

操作數(shù)的尋址為訪問不同地址形式的存儲(chǔ)單元提供了方便。

索引寄存器不能劃分為8位寄存器。作為通用寄存器,它還可以存儲(chǔ)算術(shù)邏輯運(yùn)算的操作數(shù)和運(yùn)算結(jié)果。

它們可以作為通用的內(nèi)存指針,在字符串操作指令的執(zhí)行過程中對(duì)它們有特殊的要求,它們也有特殊的

功能。

4.指針式計(jì)量器

32位CPU有兩個(gè)32位通用寄存器EBP和ESP,其中低16位對(duì)應(yīng)于前一個(gè)CPU中的BP和SP,低16位。

根據(jù)訪問,不影響高16位數(shù)據(jù)。

EBP、ESP、BP、SP稱為指針寄存器,主要用來存儲(chǔ)堆棧中存儲(chǔ)單元的偏移量,它們可以用來實(shí)現(xiàn)各種存儲(chǔ)器。

操作數(shù)的尋址為訪問不同地址形式的存儲(chǔ)單元提供了方便。

指針寄存器不能劃分為8位寄存器。作為通用寄存器,它還可以存儲(chǔ)算術(shù)和邏輯運(yùn)算的操作數(shù)和運(yùn)算結(jié)果。

它們主要用于訪問堆棧中的存儲(chǔ)單元,并規(guī)定:

BP是基址指針寄存器,可以直接訪問堆棧中的數(shù)據(jù)。

SP是棧指針寄存器,只能訪問棧頂。

5.分段寄存器

根據(jù)存儲(chǔ)器分段的管理模式來設(shè)置分段寄存器。存儲(chǔ)單元的物理地址由段寄存器的值和偏移量組成。

,以便將兩個(gè)位數(shù)較少的值合并成一個(gè)可訪問的值。求更大物理空間的內(nèi)存地址。

32位CPU有六個(gè)段寄存器,如下所示:

CS:代碼段寄存器ES:附加段寄存器

DS:數(shù)據(jù)段寄存器FS:附加段寄存器

SS:堆棧段寄存器GS:附件段寄存器

在一個(gè)16位CPU系統(tǒng)中,只有4個(gè)段寄存器,所以程序在任何時(shí)候最多可以直接訪問4個(gè)正在使用的段。

在32位微機(jī)系統(tǒng)中,它有6個(gè)段寄存器,所以在這種環(huán)境下開發(fā)的程序最多可以同時(shí)訪問6個(gè)段。

32位CPU有兩種不同的工作模式:實(shí)模式和保護(hù)模式。在每種模式中,段寄存器的作用是不同的,相關(guān)的規(guī)定

簡(jiǎn)要描述如下:

實(shí)模式:段寄存器CS、DS、ES和SS與前一CPU中相應(yīng)的段寄存器以及存儲(chǔ)單元的邏輯具有相同的含義

地址仍然是 "段地址:偏移地址 "。為了訪問某個(gè)內(nèi)存段中的數(shù)據(jù),必須使用段寄存器和存儲(chǔ)單元的偏移地址。

保護(hù)模式:在這種模式下,情況要復(fù)雜得多。裝入段寄存器的不再是段值,而是一個(gè)名為 "選擇器和。

6.指令指針寄存器

32位CPU將指令指針擴(kuò)展到32位,并將其記錄為EIP。EIP的低16位與先前CPU中的IP具有相同的功能。

指令指針EIP和IP是代碼段中存儲(chǔ)下一次要執(zhí)行的指令的偏移地址。在具有預(yù)取指令功能的系統(tǒng)中,指令將在下一次執(zhí)行。

指令行通常被預(yù)取到指令隊(duì)列中,除非有分支,所以在理解它們的功能時(shí)不考慮指令隊(duì)列的存在。

條件。

在實(shí)模式下,因?yàn)槊總€(gè)段的最大范圍是64KB,所以EIP的高16位必須全部為0。此時(shí),它相當(dāng)于只使用它的低16位。

位IP來反映程序中指令的執(zhí)行順序。

7.標(biāo)志寄存器

1.運(yùn)算結(jié)果標(biāo)志位。共6個(gè),包括:CF進(jìn)位標(biāo)志、PF奇偶標(biāo)志、AF輔助進(jìn)位標(biāo)志、ZF零標(biāo)志、

溢出標(biāo)志位的SF符號(hào)標(biāo)志位。

2.狀態(tài)控制標(biāo)志位。一共三個(gè),包括:TF跟蹤標(biāo)志,IF中斷許可標(biāo)志,DF方向標(biāo)志。

以上標(biāo)志位在第七章都有提及,這里不再贅述。現(xiàn)在,讓我們 讓我們來談?wù)?2位標(biāo)志寄存器中添加的四個(gè)標(biāo)志位。

1.輸入輸出特權(quán)標(biāo)志IOPL。

IOPL由兩個(gè)二進(jìn)制位表示,也稱為I/O特權(quán)級(jí)別字段,它指定執(zhí)行I/O指令所需的特權(quán)級(jí)別。如果當(dāng)前

的特權(quán)級(jí)別小于或等于IOPL的值,則可以執(zhí)行I/O指令,否則將出現(xiàn)保護(hù)異常。

2.嵌套任務(wù)標(biāo)志NT。

NT用于控制中斷返回指令I(lǐng)RET的執(zhí)行。具體規(guī)定如下:

(1)當(dāng)NT0時(shí),用保存在堆棧中的值恢復(fù)EFlags、CS和EIP,并執(zhí)行例行中斷返回操作。

(2)NT1時(shí),通過任務(wù)轉(zhuǎn)換實(shí)現(xiàn)中斷返回。

3.重啟標(biāo)志RF。

RF用于控制是否接受調(diào)試故障。規(guī)定:當(dāng)RF0時(shí),表示接受,否則拒絕。

4.虛擬8086模式徽標(biāo)。

如果VM1,則表示處理器工作在虛擬8086模式,否則,處理器工作在通用保護(hù)模式。

8、32位地址尋址模式

最后說說32位地址的尋址。前面我們研究了16位地址的尋址,在32位微機(jī)系統(tǒng)中有五種。

本文提供了一種更加靈活、方便、復(fù)雜的存儲(chǔ)器尋址方法,進(jìn)一步擴(kuò)大了存儲(chǔ)器地址的尋址范圍。

當(dāng)使用16位寄存器訪問存儲(chǔ)單元時(shí),只有基址寄存器(BX和BP)和變址寄存器(SI和DI)可以用作。

偏移地址的一部分,但用32位寄存器尋址時(shí),就沒有這種限制了。所有32位寄存器(EAX、EBX、ECX、

EDX、ESI、EDI、EBP和ESP)都可以是偏移地址的組成部分。

使用32位地址偏移尋址時(shí),偏移地址可分為三部分:

1.32位基址寄存器(EAX、EBX、ECX、EDX、ESI、EDI、EBP、ESP)。

2.一個(gè)32位索引寄存器(EAX、EBX、ECX、EDX、ESI、EDI和EBP),可以乘以1、2、4和8。

3.一個(gè)8位至32位的偏移常數(shù)。

例如,指令:MOVEBX,[EAX EDX * 2 300]

Eax是基址寄存器,edx是索引寄存器,300H是偏移常數(shù)。

以上三個(gè)部分可以任意組合,可以省略其中的一兩個(gè)。

以下是一些32位地址尋址指令:

Mov ax,[123456]

Mov eax

Mov ebx,[ecx*2]

Mov [[EAX EDX * 8300]顯式段寄存器是GS。

Mov ax,[esp]默認(rèn)段寄存器是SS。