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

正文內(nèi)容

09通信工程微機(jī)原理及應(yīng)用授課內(nèi)容及教學(xué)安排-在線瀏覽

2025-08-12 05:09本頁面
  

【正文】 FH時(shí),執(zhí)行INC AL后CF的狀態(tài)不變!例2:將AX內(nèi)容清0 可以使用指令:MOV AX, 0 ;該指令的尋址方式為立即數(shù)尋址,具體操作和指令執(zhí)行時(shí)間見P450第40欄中第6行:reg, imm,即:MOV reg, imm,由表中可知該指令的時(shí)鐘周期數(shù)為4,字節(jié)數(shù)為2—3?!璛 DB ? ;定義自變量 DATA1 Y DB 0 ;定義函數(shù)值存放單元 DATA2……………………………………………… MOV AL, X ;取自變量送AL以便對(duì)其進(jìn)行判斷 CMP AL, 0 ;影響所有標(biāo)志位:ZF、SF、CF等標(biāo)志位 JNZ PNZ ;X不為0轉(zhuǎn)移 MOV AL, 0 ;X=0 MOV Y, AL ;將0送函數(shù)值存放單元中 HLT PNZ: JS PS 。見P133轉(zhuǎn)移指令表 MOV AL, 1 ;X0 MOV Y, AL ;將1送函數(shù)值存放單元中 HLT PS: MOV AL, 0FFH ;X0,送1的補(bǔ)碼 MOV Y, AL ;將0送函數(shù)值存放單元中 HLT第4章 匯編語言程序設(shè)計(jì) 機(jī)器語言:CPU可以直接執(zhí)行的代碼稱為機(jī)器碼或目標(biāo)程序。(或簡稱為:面向機(jī)器(或CPU)的編程語言) 源程序:用匯編語言編寫的程序稱為源程序。(由于機(jī)器不能夠直接執(zhí)行用匯編語言編寫的程序,只能執(zhí)行由機(jī)器代碼(即二進(jìn)制代碼)組成的目標(biāo)程序,這個(gè)將匯編語言翻譯成機(jī)器代碼的過程稱為匯編。例如而空操作指令NOP的機(jī)器碼為90H(見指令手冊(cè)),暫停指令HLT的機(jī)器碼為0F4H(見指令手冊(cè)),匯編程序在匯編時(shí)即將NOP和HLT指令分別翻譯成機(jī)器碼90H和0F4H后分別存入程序段存儲(chǔ)器中后CPU才能執(zhí)行。 程序代碼短小 執(zhí)行速度快 可以直接控制系統(tǒng)硬件 可以方便的編譯輔助計(jì)算機(jī)工作者掌握計(jì)算機(jī)體系結(jié)構(gòu) 一般匯編語言的框架結(jié)構(gòu)(見P117上面) ORG N 。段定義開始 語句1 。段定義結(jié)束 NAME2 SEGMENT 。由m條語句構(gòu)成的語句體 語句2 ………………… 語句m NAME2 ENDS 。源程序結(jié)束其中語句體中的語句按照功能或作用可分為以下3類: 指令語句:即:可執(zhí)行指令語句,為8086CPU的指令系統(tǒng),匯編時(shí)生成目標(biāo)代碼或機(jī)器碼。 宏指令語句:屬于非執(zhí)行語句。而宏指令是用來對(duì)這段指令代碼序列進(jìn)行定義的,一旦這段指令代碼序列被定義為宏指令后,宏指令就像指令一樣可以在源程序中引用。如果這段代碼重復(fù)或多次出現(xiàn)時(shí),為了簡化書寫可以在這段代碼出現(xiàn)的的位置處用一條宏指令(或稱之為符號(hào)指令)加以替代,即在該段程序出現(xiàn)處僅放一條定義后的宏指令即可。定位源程序在內(nèi)存中的存放位置,N為偏移地址 DATA SEGMENT PARA NONE(默認(rèn))或PUBLIC‘DATA’。定義變量1 VAR2 DB 34 。定義變量3 N2 DW 5678H 。預(yù)留4個(gè)單元存放計(jì)算和,初值清0 RESULT DW ? 。定義字符串1存放單元, $為結(jié)束符 ………………… DATA ENDS 。堆棧段定義開始 DW 20 DUP(?) 。堆棧段定義結(jié)束 CODE SEGMENT 。代碼段定義結(jié)束 END 。與CPU類型有關(guān),執(zhí)行后CPU都會(huì)產(chǎn)生相應(yīng)的操作。與CPU類型無關(guān),不產(chǎn)生CPU的任何操作,只與匯編程序有關(guān),不同版本的匯編程序支持不同的偽指令偽指令語句格式與執(zhí)行指令的語句格式基本相同,但其偽指令語句和執(zhí)行指令語句的作用大不不同,在匯編時(shí)偽指令語句不產(chǎn)生機(jī)器碼。 CPU或處理器指令中的操作數(shù)可以是立即數(shù)、寄存器和存儲(chǔ)單元。 執(zhí)行性語句中的標(biāo)號(hào)后要加冒號(hào)‘:’,而非執(zhí)行性語句的標(biāo)號(hào)后不能加冒號(hào)! 偽指令中的操作數(shù)可以是常數(shù)、字符串、常量名、變量名、標(biāo)號(hào)、表達(dá)式和專用符號(hào)(例如:BYTE、WORD、FAR、PARA)等,可以有多個(gè),各參數(shù)之間用逗號(hào)分隔。l 標(biāo)號(hào):指令目標(biāo)代碼的符號(hào)地址。l 變量:存放在內(nèi)存單元中的數(shù)據(jù)或稱內(nèi)存數(shù)據(jù)(即對(duì)內(nèi)存數(shù)據(jù)起一個(gè)名,常被稱作存儲(chǔ)單元的符號(hào)地址)。其屬性有3個(gè):段屬性SEG:指出該變量所在的邏輯段。類型屬性TYPE:表示該變量所占用內(nèi)存單元的字節(jié)數(shù)。見P160偽指令中的:DW:定義字。變量在使用前必須要先進(jìn)行定義:即對(duì)其進(jìn)行命名、定義類型和預(yù)置初值變量定義偽指令的語句格式為:見P156([變量名] DB 表達(dá)式)變量名 變量類型 表達(dá)式1,表達(dá)式2,…其表達(dá)式形式如下:數(shù)值表達(dá)式:數(shù)或簡單算術(shù)表達(dá)式。 數(shù)據(jù)類型為DB時(shí),每個(gè)字符分配一個(gè)字節(jié)單元。數(shù)據(jù)類型為DD時(shí),每2個(gè)字符為一組分配4個(gè)字節(jié)單元,將字符存入低2個(gè)字節(jié)順序同DW,高2個(gè)字節(jié)存入00H.例1:STRING1 DB ‘ABCDEF’。即將41H46H存入自STRING1 [STRING2]=42H 。 [STRING2+2]=44H [STRING2+3]=43H [STRING2+4]=46H [STRING2+5]=45H 。定義字符串2存放單元帶DUP的表達(dá)式:用于對(duì)多個(gè)內(nèi)存單元進(jìn)行重復(fù)設(shè)置。語句格式為:變量名 變量類型 表達(dá)式1 DUP (表達(dá)式2);其中表達(dá)式1為重復(fù)次數(shù),表達(dá)式2為重復(fù)內(nèi)容。例2:DATA2 DW 20 DUP (0);將自DATA1地址開始的連續(xù)20個(gè);字單元(即40個(gè)字節(jié))清0二、常用表達(dá)式和運(yùn)算符:算術(shù)運(yùn)算符 邏輯運(yùn)算符 關(guān)系運(yùn)算符取值運(yùn)算符:(見P119) (1)SEG 求段基址 ;偽指令格式:SEG 符號(hào)名 例:SEG DATA1 ;求變量DATA1的段基址 (2)OFFSET 求偏移地址;偽指令格式:OFFSET 符號(hào)名 例:OFFSET DATA1 ;求變量DATA1的偏移地址(3)TYPE 求符號(hào)名或變量的類型值 ;偽指令格式:TYPE符號(hào)名;其變量的類型值見P119表4—1 例如:DATA1 DB 12DATA2 DW 1234HTYPE DATA1;=1 , TYPE DATA2;=2 其中DATADATA2的類型由上面的數(shù)據(jù)定義偽指令進(jìn)行定義 合成運(yùn)算符: 作用:修改變量或標(biāo)號(hào)原有的類型屬性,并臨時(shí)賦予其新的類型屬性。 常用偽指令 見P160 符號(hào)定義偽指令 作用:對(duì)所用符號(hào)進(jìn)行賦值 格式:符號(hào)名 EQU 表達(dá)式;定義后不能重新賦值 符號(hào)名 = 表達(dá)式;定義后可以重新賦值 內(nèi)存數(shù)據(jù)(即變量)定義偽指令:即:DB、DW、DD 作用:定義內(nèi)存變量的類型屬性 [變量名] DB 表達(dá)式 段定義偽指令 作用:對(duì)段進(jìn)行命名和定位 格式:段名 SEGMENT [定位方式] [連接方式] [‘類別名’] 編程時(shí)一般使用默認(rèn)值(即段邊界方式)即可。 模塊結(jié)束偽指令: 格式:END [啟動(dòng)標(biāo)號(hào)或過程名]作用:通知匯編程序源文件結(jié)束,并給出執(zhí)行程序的入口地址。 定位偽指令: 格式:ORG 表達(dá)式作用:指定數(shù)據(jù)或程序在內(nèi)存中的起始偏移地址,從表達(dá)式指定的起點(diǎn)開始連續(xù)存放直到遇到新的ORG指令為止。 列表偽指令: (1)建立標(biāo)題: 格式:TITLE 標(biāo)題 作用:為列表文件每頁的第1行定義大標(biāo)題 (2)建立小標(biāo)題:格式:SUBTTL 標(biāo)題 作用:為列表文件每頁定義小標(biāo)題,輸出在大標(biāo)題之后。偽指令或說明性語句的作用:對(duì)變量、工作單元或符號(hào)等進(jìn)行定義或說明,以增加程序的可讀性等。程序1: MOV AX, [2000H] ;將轉(zhuǎn)速測量值送AX寄存器 MOV DL, [2002H] ;將溫度測量值送DL寄存器 分析:盡管程序簡單,但不知內(nèi)存單元中存放的是何數(shù)據(jù),缺乏可讀性!程序2: DATA SEGMENT ;段定義偽指令 ORG 2000H ;對(duì)存放數(shù)據(jù)的偏移地址進(jìn)行定位偽指令 ZS DW 0 ;分配轉(zhuǎn)速存放單元 WD DB 0 ;定義溫度存放單元 DATA ENDS ……………………………………………MOV AX, ZS ;將轉(zhuǎn)速測量值送AX寄存器 MOV DL, WD ;將溫度測量值送DL寄存器由此可知利用偽指令對(duì)工作單元或變量進(jìn)行了定義后,使得程序具有了可讀性!應(yīng)用舉例:已知待顯示的數(shù)據(jù)在DATA單元中,系統(tǒng)采用2位LED數(shù)碼顯示器顯示,個(gè)位顯示器的I/O地址為LED0,十位顯示器的I/O地址為LED1,試編寫程序?qū)⒋@數(shù)據(jù)送LED顯示器顯示。宏指令類似于子程序或過程,但二者有明顯的區(qū)別:執(zhí)行方式不同:宏調(diào)用語句屬于說明性語句由匯編程序MASM86中的宏處理程序代換進(jìn)行處理,不會(huì)引起CPU的任何操作,而子程序調(diào)用或過程調(diào)用語句是由CPU執(zhí)行。對(duì)工作參數(shù)的要求不同:在進(jìn)行宏調(diào)用時(shí)允許改變或修改其工作參數(shù),使得同一條宏指令在各次不同的調(diào)用過程中可完成不同的操作,具有較好的靈活性,而子程序或過程一旦被定義,一般不允許修改參數(shù),因此如何子程序或過程在各次調(diào)用中只能完成相同的功能。 宏指令的定義和使用方法一、宏指令使用說明:宏指令在使用前必須要先進(jìn)行定義!其步驟如下:宏定義:即對(duì)程序中所出現(xiàn)的重復(fù)性內(nèi)容或代碼進(jìn)行定義,并起一個(gè)名。(即將其重復(fù)性內(nèi)容或代碼位置處通過宏指令名來調(diào)用它)宏擴(kuò)展(宏展開):由宏匯編程序在宏調(diào)用語句(即宏調(diào)用指令)處,將原內(nèi)容換回。Y CL ;;當(dāng)被宏代換的內(nèi)容為指令助記符中的符號(hào);時(shí),要在符號(hào)前加宏代換符 amp。AH為宏名,Y、X為形式參數(shù)    MOV CL,X    ROamp?;?yàn)椋篟Oamp。 其中R為和形式參數(shù)表中的Y所對(duì)應(yīng)的實(shí)在參數(shù) ;5為和形式參數(shù)表中的X所對(duì)應(yīng)的實(shí)在參數(shù)宏展開: + MOV CL, 5 + ROR AL, CL應(yīng)用舉例:已知待顯示的數(shù)據(jù)在DATA單元中,系統(tǒng)采用2位LED數(shù)碼顯示器顯示,個(gè)位顯示器的I/O地址為LED0,十位顯示器的I/O地址為LED1,試編寫程序?qū)⒋@數(shù)據(jù)送LED顯示器顯示。即該單元的低4位送個(gè)位LED0,高4位送十位LED1。 MOV BX, OFFSET LED_TBL ;獲取用戶數(shù)據(jù)區(qū)的偏移地址 宏體 XLAT ;查表將低4位數(shù)據(jù)轉(zhuǎn)換為LED七段碼 宏體 OUT X, AL ;將查表得到的LED七段碼輸出到LED外設(shè) 宏體ENDMCODE SEGMENT PARA ‘CODE ’ ;定義代碼段 ASSUME CS:CODE,DS:DAT,SS:STAC;STAR PROC FAR PUSH DS ;保護(hù)操作系統(tǒng)當(dāng)前的數(shù)據(jù)指針DS:00(即現(xiàn)場)以便執(zhí)行 XOR AX, AX ;完用戶程序后恢復(fù) PUSH AX MOV AX, SEG LED_TBL ;獲取并建立用戶數(shù)據(jù)區(qū)的段基址 MOV DS, AX ;建立用戶段 MOV AL, DATA ;取出數(shù)據(jù)送AL AND AL, 0FH ;分離出低4位 CB LED0 ;宏調(diào)用指令 MOV AL, DATA ;再次取出數(shù)據(jù)送AL SHR AL, 1 ;右移4位分離出高4位 SHR AL, 1 ; SHR AL, 1 ; SHR AL, 1 ; 宏展開時(shí)即為下面3條語句 CB LED1 ;宏調(diào)用指令 ;+MOV BX,OFFSET LED_TBL;STAR ENDP ;+XLAT CODE ENDS ;+OUT LED1,AL ;LED1為實(shí)參END STAR解法3:采用子程序方式完成上例(可利用DX作為入口參數(shù))………………………………………… ;只給出執(zhí)行語句部分,其它內(nèi)容略PUSH DS ;保護(hù)操作系統(tǒng)當(dāng)前的數(shù)據(jù)指針DS:00(即現(xiàn)場)以便執(zhí)行 XOR AX, AX ;完用戶程序后恢復(fù) PUSH AX MOV AX, SEG LED_TBL ;獲取并建立用戶數(shù)據(jù)區(qū)的段基址 MOV DS, AX ;建立用戶段 MOV AL, DATA ;取出數(shù)據(jù)送AL AND AL, 0FH ;分離出低4位 MOV DX, LED0 ;建立子程序的入口參數(shù) CALL CB ;調(diào)用子程序 MOV AL, DATA ;再次取出數(shù)據(jù)送AL SHR AL, 1 ;右移4位分離出高4位 SHR AL, 1 ; SHR AL, 1 ; SHR AL, 1 ; MOV DX, LED1 ;建立子程序的入口參數(shù) CALL CB ;調(diào)用子程序 HLTCB: MOV BX, OFFSET LED_TBL ;獲取用戶數(shù)據(jù)區(qū)的偏移地址 XLAT ;查表將4位數(shù)據(jù)轉(zhuǎn)換為LED七段碼 OUT DX, AL ;將查表得到的LED七段碼輸出到LED外設(shè)
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1