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

正文內(nèi)容

[信息與通信]第三章8086尋址方式和指令系統(tǒng)-展示頁

2025-01-07 12:09本頁面
  

【正文】 用匯編語言(即主要由指令系統(tǒng)組成 的語言)編寫的程序稱為 匯編語言源程序 , 若直接將它送到計(jì)算機(jī),機(jī)器并不認(rèn)識那 些構(gòu)成程序的指令和符號的含義,還必須 由匯編程序?qū)⒃闯绦蚍g成計(jì)算機(jī)能認(rèn)識 的二進(jìn)制機(jī)器語言( 機(jī)器碼 )后,才能被 計(jì)算機(jī)識別和執(zhí)行,得到運(yùn)算結(jié)果。實(shí)際上,目的操作數(shù)也可以除立即尋址方式以外的所有尋址方式指定。 端口號范圍為: 00~ FFH; 間接:端口號由寄存器 DX指定,端口范圍為: 0000~ FFFFH。 2. I/O端口尋址 分為直接端口尋址和間接端口尋址。 八、其它尋址方式 指令中不指明操作數(shù),但有隱含規(guī)定的尋址方式。 若基址寄存器 BX時(shí),段寄存器用 DS; 若基址寄存器 BP時(shí),段寄存器用 SS。 若基址寄存器 BX時(shí),段寄存器用 DS; 若基址寄存器 BP時(shí),段寄存器用 SS。 EA=(8 種)[BX][SI][BP][DI]{默認(rèn)D S 段默認(rèn)S S 段+ 8 位位移量或1 6 位位移量寄存器相對尋址方式的 EA計(jì)算 例 MOV BX, COUNT[SI] MOV BX, [SI+COUNT] 設(shè) DS=3000H, SI=2022H,位移量 COUNT=4000H,( 36000H) =5678H 則物理地址 =DS 16+SI+COUNT=36000H ┋┋┋┋操作碼代碼段數(shù)據(jù)段00407856DS 1 63000H+36000H36000HBH BLBX 56 782022HSICOUNT 4000H指令 MOV BX, COUNT[SI]的執(zhí)行過程 寄存器相對尋址方式也允許使用段超越前綴,如 MOV BX, ES: COUNT[DI]則段地址為 ES,物理地址 =ES 16+DI+COUNT。這種尋址方式與寄存器間接尋址十分相似,主要區(qū)別是前者在有效地址的基礎(chǔ)上還要加一個(gè)位移量。執(zhí)行過程如下圖所示。 ┋┋┋┋操作碼代碼段數(shù)據(jù)段00205634DS 1 61000H+12022H12022HBHBLBX 34 562022HSI指令 MOV BX, [SI]的執(zhí)行過程 例如指令 MOV AX, [BP],則默認(rèn)操作數(shù)在堆棧段中,操作數(shù)的物理地址 =SS 16+BP。 EA=(4 種)[BX][SI][BP][DI]{默認(rèn)D S 段默認(rèn)S S 段寄存器間接尋址方式的 EA計(jì)算 例如 MOV BX, [SI] 設(shè) DS=1000H, SI=2022H,( 12022H) =3456H 則物理地址 =DS 16+SI =10000H+2022H =12022H 此指令的功能就是( 12022H) 字 → BX,因此指令執(zhí)行后 BX=3456H。 兩點(diǎn)說明 : BX, SI或 DI,則默認(rèn)操作數(shù)存放在數(shù)據(jù)段中,這時(shí)要用數(shù)據(jù)段寄存器 DS的內(nèi)容作為段地址。寄存器名稱外面必須加方括號,以與寄存器尋址方式相區(qū)別。 又如 AREA1 DW 1234H ┋ MOV AX, AREA1 ( [AREA1]) 這里的 DW偽指令語句用來定義一個(gè)存儲器中的數(shù)據(jù)變量, AREA1表示內(nèi)存中一個(gè)數(shù)據(jù)區(qū)的名字,也就是符號地址,該地址單元存放一個(gè)字?jǐn)?shù)據(jù)1234H。 例如 AREA1 EQU 1234H ┋ MOV AX, AREA1 這里,等值偽指令語句 EQU用來給常數(shù) 1234H定義一個(gè)符號名為 AREA1,在此后的程序中,符號AREA1就代表一個(gè)立即數(shù) 1234H。例如 MOV AX, AREA1這里的 AREA1就是操作數(shù)的符號地址,該指令執(zhí)行后,將從有效地址為 AREA1的存儲單元中取出一個(gè)字送到 AX中去。 例如指令 MOV AX, ES: [1000H]源操作數(shù)所在的存儲單元的物理地址是 ES 16+1000H,而不是默認(rèn)的 DS 16+1000H。此指令的執(zhí)行過程如下圖所示。 使用直接尋址方式的指令時(shí),存儲單元的有效地址直接由指令給出,而段地址如沒有指令前綴,默認(rèn)由數(shù)據(jù)段寄存器給出。 例 1: MOV DX, AX 2: MOV BL, CL 注意: 源操作數(shù)的長度必須與目的操作數(shù)一致。 (如 MOV 23H, BL ) 二、寄存器尋址方式 操作數(shù)包含在寄存器中。 例如 MOV AL, 30H MOV AX, 0FFFCH MOV [1000H], 1234H 注意: A~F開頭時(shí),應(yīng)在其前加 0,以區(qū)別其 它符號(如 0FFFCH)。 MOV AX, [2022H]源操作數(shù)(存儲器)I N A L ,2 0 H源操作數(shù)(I / O 端口)MOV AX, 1000H源操作數(shù)(立即數(shù))①立即數(shù)尋址②寄存器尋址③存儲器尋址{{直接尋址寄存器間接尋址寄存器相對尋址基址變址尋址相對基址變址尋址分三大類8086的尋址方式 下面主要以 MOV指令來說明 8086的 這些尋址方式。 而象指令 NOP,沒有操作數(shù)。如果是雙操作數(shù)指令,要用逗號將兩個(gè)操作數(shù)分開,逗號右邊的操作數(shù)稱為 源操作數(shù) ,逗號左邊的為 目的操作數(shù) 。第三章 8086的尋址方式和指令系統(tǒng) 31 8086的尋址方式 指令=操作碼+操作數(shù) 指出操作的性質(zhì)(作用) 指出操作的對象 尋址方式 就是指令中說明操作數(shù)所在地址的方法(操作數(shù)在哪)。 指令有單操作數(shù)、雙操作數(shù)和無操作數(shù)之分。 MOV AX, BX 源操作數(shù) 操作碼 目的操作數(shù) 兩操作數(shù)用逗號隔開 MOV功能:將 BX中的源操作數(shù) → AX(目的) 而象單操作數(shù)指令 INC AX 其中 AX既是源操作數(shù),又是目的操作數(shù),其功能是: AX+1→AX 。 前面舉的例子都是操作數(shù)在寄存器中,操作數(shù)還可以在存儲器或 I/O端口中,也可以是立即數(shù)。 一、立即尋址方式 操作數(shù)直接包含在指令中,它是一個(gè) 8位或 16位的常整數(shù),也叫立即數(shù)。 ,不能作目的操作數(shù)。對于 16位操作數(shù),寄存器可以是 AX, BX, CX, DX, SI, DI, SP, BP等等;對于 8位操作數(shù),寄存器可以是 AH, AL, BH,BL, CH, CL, DH, DL。 三、直接尋址方式(存儲器尋址) 有效地址 (EA): 操作數(shù)的偏移地址。例如 MOV AX, [2022H];存儲單元的有效地址 EA=2022H,段地址由數(shù)據(jù)段 DS指定(設(shè) DS=3000H)。 ┋┋┋┋操作碼代碼段數(shù)據(jù)段00203412DS2022H1 63000H+32022H32022HAHALAX 12 34指令 MOV AX, [2022H]的執(zhí)行過程 如果要對代碼段、堆棧段或附加段寄存器所指出的存儲區(qū)進(jìn)行直接尋址,應(yīng)在指令中指定段超越前綴。 ( MOV AX, ES: [1000H] ES: MOV AX, [1000H] ) (變量名) 在匯編語言中還允許用符號地址代替數(shù)值地址,實(shí)際上就是給存儲單元起一個(gè)名字,這樣,要與這些單元打交道,只要使用其名字即可,不必記住具體數(shù)值是多少。 注意: 光從指令的形式上看, AREA1不僅可代表符號地址,也可以表示它是一個(gè) 16位的立即數(shù),兩者之間究竟如何來區(qū)別呢?程序中還必須事先安排說明語句也叫做偽指令來加以說明。指令 MOV AX,AREA1執(zhí)行后, AX=1234H。 3412AREA1┋┋四、寄存器間接尋址方式 指令中給出的寄存器中的值不是操作數(shù)本身,而是操作數(shù)的有效地址 EA,這種尋址方式稱為寄存器間接尋址。這類指令中使用的寄存器有基址寄存器 BX、 BP及變址寄存器 SI、 DI。 物理地址 =DS 16+BX 或 =DS 16+SI 或 =DS 16+DI BP進(jìn)行間接尋址,則默認(rèn)操作數(shù)在堆棧段中,操作數(shù)的段地址在段寄存器 SS中,操作數(shù)的物理地址 =SS 16+BP。執(zhí)行過程如下圖所示。 設(shè) SS=4000H, BP=1000H,( 41000H) =5678H 則物理地址 =SS 16+BP =40000H+1000H =41000H 此指令的功能就是( 41000H) 字 → AX,因此指令執(zhí)行后 AX=5678H。 ┋┋┋┋操作碼代碼段堆棧段00107856SS 1 64000H+41000H41000HAHALAX 56 781000HBP指令 MOV AX, [BP]的執(zhí)行過程 寄存器間接尋址方式的指令中也可以指定段超越前綴來從默認(rèn)段以外的段中取得數(shù)據(jù),如: MOV BX, DS: [BP] 物理地址 =DS 16+BP MOV AX, ES: [DI] 物理地址 =ES 16+DI 五、寄存器相對尋址方式 操作數(shù)的有效地址是一個(gè)基址或變址寄存器的內(nèi)容與指令中指定的 8位或 16位 位移量 之和。同樣,當(dāng)指令中指定的寄存器是 BX, SI或 DI時(shí),默認(rèn)的段寄存器是 DS,當(dāng)指定寄存器是 BP時(shí),默認(rèn)的段寄存器是 SS。 六、基址變址尋址方式 操作數(shù)的有效地址是一個(gè)基址寄存器( BX或BP)和一個(gè)變址寄存器( SI或 DI)的內(nèi)容之和,兩個(gè)寄存器均由指令指出。 EA=(4 種)[BX] +[SI][BP]+[DI]{默認(rèn)D S 段默認(rèn)S S 段[BX][BP] +[SI]+[DI]基址變址尋址方式的 EA計(jì)算 注意:沒有 EA= [BX][SI]+[BP]+[DI]{例 MOV AX, [BX][SI] MOV AX, [BX+SI] 設(shè) DS=3000H, BX=1200H, SI=0500H,( 31700H)=0ABCDH 則物理地址 =DS 16+BX+SI =30000H+1200H+0500H =31700H 指令執(zhí)行后, AX=0ABCDH,執(zhí)行過程如下 : ┋┋┋代碼段數(shù)據(jù)段CDABDS1 63000H31700HAH ALAX AB CDBX 1200HSI0500H+指令 MOV AX, [BX][SI]的執(zhí)行過程 七、相對基址變址尋址方式 操作數(shù)的有效地址是一個(gè)基址寄存器( BX或BP)和一個(gè)變址寄存器( SI或 DI)的內(nèi)容,再加上指令中指定的 8位或 16位位移量之和。 EA=(8 種)[BX] +[SI]+8位 或16位 位移量[BP]{默認(rèn)D S 段默認(rèn)S S 段[BX][BP]+[DI]+8位 或16位 位移量+[SI]+8位 或16位 位移量+[DI]+8位 或16位 位移量相對基址變址尋址方式的 EA計(jì)算 例 MOV AX, MASK[BX][SI] MOV AX, MASK[BX+SI] MOV AX, [MASK+BX+SI] 設(shè) DS=2022H, BX=1500H, SI=0300H, MASK=0200H,( 21A00H) =1234H 則物理地址 =DS 16+BX+SI+MASK =20220H+1500H+0300H+0200H =21A00H 指令執(zhí)行后, AX=1234H,執(zhí)行過程如下:
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1