




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、何謂計(jì)算機(jī)? 計(jì)算機(jī)是一種能夠自動(dòng)進(jìn)行算術(shù)和邏輯運(yùn)算的電子裝置。 關(guān)鍵詞:電子裝置、運(yùn)算、自動(dòng) 計(jì)算機(jī)特點(diǎn):二進(jìn)制、高速計(jì)算機(jī)的編碼系統(tǒng)。 運(yùn)算是計(jì)算機(jī)的核心功能。它所有的擴(kuò)展功能都和編碼有關(guān)。 計(jì)算機(jī)中只能存儲(chǔ)和處理二進(jìn)制數(shù)碼,一些數(shù)據(jù)、字符、漢字、圖像聲音等信息在計(jì)算機(jī)中都是用規(guī)定好的二進(jìn)制組合代碼來(lái)表示的,稱(chēng)為計(jì)算機(jī)的編碼系統(tǒng)。 計(jì)算機(jī)硬件由運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備、輸出設(shè)備五大基本部件組成:計(jì)算機(jī)分類(lèi): 超級(jí)計(jì)算機(jī)、大型計(jì)算機(jī)、小型計(jì)算機(jī)、微型計(jì)算機(jī)或個(gè)人計(jì)算機(jī) 嵌入式計(jì)算機(jī)微型計(jì)算機(jī)或個(gè)人計(jì)算機(jī)是目前發(fā)展最快, 應(yīng)用最普及的計(jì)算機(jī)。CPU是電腦的核心,即中央處理器。微型計(jì)算機(jī)
2、的應(yīng)用:1、科學(xué)計(jì)算2、信息處理3、計(jì)算機(jī)輔助技術(shù)4、過(guò)程控制 5、人工智能6、網(wǎng)絡(luò)通信總線是計(jì)算機(jī)系統(tǒng)模塊化的產(chǎn)物。分時(shí)和共享是總線的兩個(gè)基本特性。系統(tǒng)總線包括:地址總線、數(shù)據(jù)總線、控制總線。微型計(jì)算機(jī)的性能指標(biāo):1. 運(yùn)算速度2. 字長(zhǎng)(目前常用的微型機(jī)都是32位或64 位。) 3. 存儲(chǔ)器的容量常見(jiàn)的寄存器有:緩沖寄存器、移位寄存器、計(jì)數(shù)器、累加器。微型計(jì)算機(jī)的軟件系統(tǒng): 計(jì)算機(jī)軟件是指支持計(jì)算機(jī)運(yùn)行的各種程序,以及開(kāi)發(fā)、使用和維護(hù)這些程序的各種技術(shù)資料的總稱(chēng)。計(jì)算機(jī)的硬件和軟件二者缺一不可,否則不能正常工作 系統(tǒng)軟件的主要功能是簡(jiǎn)化計(jì)算機(jī)操作,充分發(fā)揮硬件功能,支持應(yīng)用軟件的運(yùn)行并提供
3、服務(wù)。 應(yīng)用軟件處于軟件系統(tǒng)的最外層,直接面向用戶(hù),為用戶(hù)服務(wù)。應(yīng)用軟件是為了解決各類(lèi)應(yīng)用問(wèn)題而編寫(xiě)的程序,包括用戶(hù)編寫(xiě)的特定程序,以及商品化的應(yīng)用軟件和套裝軟件。程序設(shè)計(jì)語(yǔ)言,是人機(jī)交流信息的一種特定語(yǔ)言。在編寫(xiě)程序時(shí)用指定的符號(hào)來(lái)表達(dá)語(yǔ)義。8086 微處理器的內(nèi)部結(jié)構(gòu)1. 構(gòu)成:8086 由執(zhí)行部件(EU)和總線接口部件(BIU)組成。2.功能:執(zhí)行部件(EU)負(fù)責(zé)指令的執(zhí)行,總線接口部件(BIU)負(fù)責(zé)對(duì)總線的操作,進(jìn)行與存儲(chǔ)器或IO 接口的數(shù)據(jù)交互。3. EU各部分功能 4個(gè)通用數(shù)據(jù)寄存器 AX 用作累加器; BX 一般用作基地址寄存器; CX 通常用作計(jì)數(shù)器; DX 多用作輔助累加器。
4、 4個(gè)專(zhuān)用地址指針寄存器 SP 堆棧指針寄存器; BP 基地址指針寄存器; SI 源變址寄存器; DI 目的變址寄存器。 算術(shù)邏輯單元(ALU): ALU 執(zhí)行16位的算術(shù)與邏輯操作。 標(biāo)志寄存器(FR):16位寄存器,其中有7位未用。4. 總線接口部件BIU 1.功能:BIU 控制完成全部總線操作,自動(dòng)從存儲(chǔ)器取出指令并根據(jù)EU的命令控制數(shù)據(jù)在CPU 和存儲(chǔ)器或IO 接口之間傳送。2.工作過(guò)程:BIU 將邏輯地址轉(zhuǎn)換成物理地址,如果是存儲(chǔ)器訪問(wèn),BIU 通過(guò)地址加法器將16 位段寄存器提供的段地址移位,和16 位偏移地址寄存器的地址相加,得到20 位的存儲(chǔ)器地址,再根據(jù)總線操作類(lèi)型讀取指令或
5、讀寫(xiě)操作數(shù)。BIU得到指令以后,將其送入6 字節(jié)的指令隊(duì)列,以備EU 順序取出執(zhí)行。3.構(gòu)成: 段寄存器、指令指針寄存器、地址加法器、指令隊(duì)列、總線控制邏輯 4個(gè)16位的段寄存器 CS 代碼段寄存器,存放程序段地址; DS 數(shù)據(jù)段寄存器,存放數(shù)據(jù)段地址; ES 擴(kuò)展段寄存器,存放輔助數(shù)據(jù)段地址 SS 堆棧段寄存器,存放堆棧段地址。 指令指針寄存器(IP) 用于存放程序段的偏移量地址(16位)。地址加法器 根據(jù)邏輯地址計(jì)算出20 位物理地址。指令隊(duì)列 存放多條指令用于指令預(yù)取。(6字節(jié))總線控制邏輯 實(shí)現(xiàn)對(duì)總線操作的控制,產(chǎn)生控制號(hào)。指令流水線:串行操作和并行操作8086 的存儲(chǔ)器組織1.存儲(chǔ)空
6、間:8086 有20 根地址線,可以尋址MB 的存儲(chǔ)器空間。 對(duì)應(yīng)存儲(chǔ)器的地址編碼為 00000 H FFFFF H。 2.存儲(chǔ)器分段:為了能夠利用16 位寄存器訪問(wèn)MB 的內(nèi)存空間。3.存儲(chǔ)器地址 物理地址:每個(gè)存儲(chǔ)器單元由20條地址線的一個(gè)惟一編碼與之對(duì)應(yīng)。這個(gè) 編碼也叫存儲(chǔ)單元的地址。這種實(shí)際的存儲(chǔ)器編碼地址稱(chēng)為物理 地址或絕對(duì)地址。 段基址:段的起始地址的高16 位稱(chēng)段基址。 偏移地址:段內(nèi)的相對(duì)地址,相對(duì)于段起始地址的偏移值,稱(chēng)偏移地址。 邏輯地址:段基址和偏移地址都不是絕對(duì)地址, 而是一個(gè)相對(duì)的地址,通常稱(chēng) 這種程序中編排的地址為邏輯地址。 邏輯地址表示格式: 段基址:偏移地址 物
7、理地址形成: 把段基址存放到段寄存器中,偏移地址存放到偏移量寄存器中, 經(jīng)過(guò)20位的加法器就可以形成任意一個(gè)20 位的物理地址。4.數(shù)據(jù)的存放 在計(jì)算機(jī)的存儲(chǔ)器中存放著三類(lèi)信息: 代碼:指令的機(jī)器碼, 指示CPU 執(zhí)行 什么操作。 數(shù)據(jù):數(shù)值和字符, 程序加工的對(duì)象; 暫存數(shù)據(jù)(堆棧數(shù)據(jù)):臨時(shí)保存的返回地址和中間結(jié)果。 為了避免混淆, 這三類(lèi)信息通常分別存放在各自的存儲(chǔ)器區(qū)域內(nèi)。用段寄存器指示這些存儲(chǔ)區(qū)域的起始地址。一般每個(gè)段落中存放著同類(lèi)性質(zhì)的信息。8086約定用四個(gè)段寄存器存放段基址。 CS16 位代碼段寄存器 DS16 位數(shù)據(jù)段寄存器 ES16 位附加段寄存器(第二數(shù)據(jù)段) SS16
8、位堆棧段寄存器5.各類(lèi)數(shù)據(jù)物理地址 CS、DS、SS 和其他寄存器組合指向存儲(chǔ)單元的示意圖例5.3 如果在一個(gè)程序段開(kāi)始執(zhí)行之前, (CS)=1003H,(IP)=1007H,給定一個(gè)數(shù)據(jù)的偏移地址是0047H, 且(DS)=1101H。試問(wèn):(1 ) 該程序段的第一個(gè)字的物理地址是多少?(2 ) 數(shù)據(jù)在內(nèi)存中的物理地址是多少?解:邏輯地址表示格式是:段地址:偏移地址。根據(jù)物理地址的定義式, 得(1 ) 物理地址= ( CS)×10H+1007H=(1003H×10H)+1007H =11037H(2 ) 物理地址= (DS)×10H+0027H =(1101H&
9、#215;10H)+0047H=11057H【評(píng)注】 物理地址是惟一的。 對(duì)應(yīng)同一個(gè)物理地址, 可以有不同的邏輯地址。 分清段內(nèi)偏移地址的來(lái)源及其相匹配的段地址。例5.4 若某數(shù)據(jù)區(qū)的開(kāi)始地址為A7F0H: 2B40H , 則該數(shù)據(jù)區(qū)的首字單元和32 個(gè)字的末字單元的物理地址分別為多少?解:首地址為(0A7F0×10H ) + 2B40H = 0AAA40H 末地址為0AAA40H + (20H -1 )×2 = 0AAA7EH【評(píng)注】數(shù)據(jù)區(qū)最后一個(gè)字的地址為:首地址+ ( 字?jǐn)?shù)- 1) ×2。例5.5 如果一個(gè)堆棧從地址3250H : 0000H 開(kāi)始, 最先存
10、入字的偏移地址為0100H, SP 的內(nèi)容為0052H , 問(wèn):(1 ) 棧頂?shù)刂肥鞘裁?(2 ) 棧底地址是什么?(3 ) 存入數(shù)據(jù)1234H 和5678H 后, SP 的值是多少?解:堆棧的最高地址叫棧底, 堆棧指針SP 總是指向棧頂。棧頂?shù)刂肥亲詈笠粋€(gè)存入的數(shù)據(jù)地址。棧頂?shù)刂? (SS)×10H + (SP) =3250H×10H + 0052H = 32552H棧底地址= (SS)×10H + 0100H = 32600H8086CPU 中堆棧存取必須以字為單位。存入數(shù)據(jù)1234H 和5678H , 即兩個(gè)字壓入堆棧后, SP 減4 , SP 的內(nèi)容為:
11、( SP ) -字?jǐn)?shù)×2 = 0052H - 2×2 = 004E H。SS 的內(nèi)容不變。例5.6 數(shù)據(jù)總線和地址總線在結(jié)構(gòu)上有什么不同之處? 如果一個(gè)系統(tǒng)的數(shù)據(jù)和地址合用一套總線或者合用部分總線, 那么,要靠什么來(lái)區(qū)分地址和數(shù)據(jù)?解:從結(jié)構(gòu)上看, 數(shù)據(jù)總線是雙向的, 即數(shù)據(jù)既可以從CPU送到其他部件, 也可以從其他部件送到CPU; 地址總線是專(zhuān)門(mén)用來(lái)傳送地址信息的, 而地址總是從CPU 送出去的, 所以地址總線是單向的。如果采用地址總線和數(shù)據(jù)總線復(fù)用技術(shù), 則需在總線周期中依靠時(shí)序、并配合一定的控制信號(hào)來(lái)區(qū)分?!驹u(píng)注】在 8086/ 8088CPU 中就采用了地址總線和數(shù)
12、據(jù)總線復(fù)用的技術(shù), 在總線周期中, T1 狀態(tài)時(shí)復(fù)用總線充當(dāng)?shù)刂房偩€, 并為了告示地址已準(zhǔn)備好, 可以被鎖存,CPU 此時(shí)還會(huì)送出高電平的ALE 信號(hào)。從總線周期的T2 狀態(tài)開(kāi)始, 復(fù)用線充當(dāng)數(shù)據(jù)總線。例5.7 在總線周期的T1 , T2 , T3 , T4 狀態(tài), 8086CPU 分別執(zhí)行什么動(dòng)作? 什么情況下需要插入等待狀態(tài)TW ? 等待狀態(tài)TW在哪兒插入? 怎樣插入?解T1 , T2 , T3 , T4 狀態(tài)構(gòu)成基本總線周期:(1 ) 在T1 狀態(tài), CPU 往多路復(fù)用總線上發(fā)出地址信息, 以指出要尋址的存儲(chǔ)單元或外設(shè)端口地址。(2 ) 在T2 狀態(tài), CPU 從總線上撤消地址, 而且將
13、總線的低16位浮置成高阻狀態(tài), 為傳輸數(shù)據(jù)作準(zhǔn)備。(說(shuō)明: 在寫(xiě)總線周期的T2 狀態(tài), CPU 在撤消地址后直接輸出數(shù)據(jù), 而不用經(jīng)過(guò)高阻狀態(tài))??偩€的最高4 位用來(lái)輸出本總線周期狀態(tài)信息。(3 ) 在T3 狀態(tài), 多路總線的高4 位繼續(xù)提供狀態(tài)信息, 而多路總線的低16 位上出現(xiàn)由CPU 寫(xiě)出的數(shù)據(jù)或者CPU 從存儲(chǔ)器或I/ O 端口讀入的數(shù)據(jù)。(4 ) 在T4 狀態(tài), 總線周期結(jié)束。當(dāng)指定的存儲(chǔ)器或外設(shè)完成數(shù)據(jù)傳送時(shí), 便在“READY”信號(hào)線上發(fā)出“準(zhǔn)備好”信號(hào), CPU 接收到這一信號(hào)后, 會(huì)自動(dòng)脫離TW 狀態(tài)而進(jìn)入T4 狀態(tài), 結(jié)束總線周期。當(dāng)外設(shè)或存儲(chǔ)器速度較慢, 不能及時(shí)地配合C
14、PU 傳送數(shù)據(jù)時(shí), 需在總線周期中插入等待狀態(tài)TW 。這時(shí), 外設(shè)或存儲(chǔ)器應(yīng)通過(guò)“READY”信號(hào)線在T3 狀態(tài)啟動(dòng)之前向CPU 發(fā)一個(gè)“ 數(shù)據(jù)未準(zhǔn)備好”信號(hào), 于是CPU 會(huì)在T3之后插入1 個(gè)或多個(gè)等待狀態(tài)TW 。當(dāng)指定的存儲(chǔ)器或外設(shè)完成數(shù)據(jù)傳送時(shí), 便在“READY”信號(hào)線上發(fā)出“準(zhǔn)備好”信號(hào), CPU 接收到這一信號(hào)后, 會(huì)自動(dòng)脫離TW 狀態(tài)而進(jìn)入T4 狀態(tài), 結(jié)束總線周期。指令的組成指令由操作碼和操作數(shù)兩部分組成。操作碼說(shuō)明計(jì)算機(jī)要執(zhí)行哪種操作。操作數(shù)是指令執(zhí)行的參與者。操作數(shù)分為四種類(lèi)型:立即數(shù)、寄存器操作數(shù)、存儲(chǔ)器操作數(shù)、外設(shè)端口操作數(shù)尋找操作數(shù)的過(guò)程就是尋址方式:立即數(shù)尋址方式
15、、寄存器尋址方式、存儲(chǔ)器尋址方式、外 設(shè)端口尋址方式注意:(1 )立即數(shù)只能作為源操作數(shù), 不能作為目標(biāo)操作數(shù)。 (2 )立即數(shù)不能直接傳送到段寄存器, 但可通過(guò)其他寄存器或堆棧傳送。 (3 )MOV 指令的兩個(gè)操作數(shù)類(lèi)型必須相同。 例如: MOV AL, BX 是錯(cuò)誤的指令。 (4 )CPU 中的寄存器除IP外都可通過(guò)MOV 指令訪問(wèn)。 (5 )CS 只能作為源操作數(shù), 不能作為目標(biāo)操作數(shù)。 (6 )段寄存器之間不能直接傳送, 兩個(gè)內(nèi)存單元之間不能直接傳送。 例如: MOV BX , SI 是錯(cuò)誤的指令。 (7) PUSH CS 是合法指令, 而POP CS 卻是非法指令, 因?yàn)?086 指
16、令系統(tǒng)中不允許CS寄存器作為目標(biāo)操作數(shù), 執(zhí)行POP CS 將改變代碼段寄存器CS 的內(nèi)容, 會(huì)導(dǎo)致CPU 從新的CS 和IP 給出的與程序毫不相干的地址中去取下一條指令, 從而使程序錯(cuò)誤地運(yùn)行。 (8 )堆棧操作遵循“ 后進(jìn)先出”的原則。保存內(nèi)容和恢復(fù)內(nèi)容時(shí), 要按照對(duì)稱(chēng)的次序執(zhí)行。非法傳送 兩個(gè)操作數(shù)的類(lèi)型不一致 絕大多數(shù)雙操作數(shù)指令,除非特別說(shuō)明,目的操作數(shù)與源操作數(shù)必須類(lèi)型一致,否則為非法指令MOV AL,050AH;050Ah為字,而AL為字節(jié)寄存器有明確的字節(jié)或字類(lèi)型,有寄存器參與的指令其操作數(shù)類(lèi)型就是寄存器的類(lèi)型對(duì)于存儲(chǔ)器單元與立即數(shù)同時(shí)作為操作數(shù)的情況,必須顯式指明;byte
17、ptr指示字節(jié)類(lèi)型,word ptr指示字類(lèi)型 兩個(gè)操作數(shù)不能都是存儲(chǔ)器 8086指令系統(tǒng)不允許兩個(gè)操作數(shù)都是存儲(chǔ)單元(除串操作指令),要實(shí)現(xiàn)這種傳送,可通過(guò)寄存器間接實(shí)現(xiàn) MOV AX,buffer1 ;AXbuffer1(將buffer1內(nèi)容送AX) MOV buffer2,AX ;buffer2AX ;這里buffer1和buffer2是兩個(gè)字變量 ;實(shí)際表示直接尋址方式 段寄存器的操作有一些限制 不允許立即數(shù)傳送給段寄存器 MOV DS,100H ;立即數(shù)不能傳送段寄存器 不允許直接改變CS值 MOV CS,SI ;不允許使用的指令 不允許段寄存器之間的直接數(shù)據(jù)傳送 MOV DS,ES
18、 ;不允許段寄存器間傳送例:將從DATA1開(kāi)始的存儲(chǔ)區(qū)域中的100個(gè)數(shù)存入DATA2開(kāi)始的存儲(chǔ)區(qū)中 MOV SI,OFFSET DATA1 ; SI作源操作數(shù)地址指針 (OFFSET為運(yùn)算符, DATA1為變量。 OFFSET DATA1表示傳送的是地址) MOV DI,OFFSET DATA2;DI作目的操作數(shù)地址指針 MOV CX,100;置計(jì)數(shù)器初值NEXT:MOV AL,SI MOV DI,AL;傳送一個(gè)字節(jié)數(shù)據(jù) INC SI ;源操作數(shù)地址指針加1 INC DI;目的操作數(shù)地址指針加1 DEC CX;計(jì)數(shù)器減1,CX(CX1) JNZ NEXT;若CX0則轉(zhuǎn)NEXT HLT;停機(jī)輸入
19、輸出尋址方式直接尋址:只用于尋址00HFFH前256個(gè)端口,操作數(shù)i8表示端口號(hào)。間接尋址:可用于尋址全部64K個(gè)端口,DX寄存器的值就是端口號(hào)。對(duì)大于FFH的端口只能采用間接尋址方式。例:有兩組50個(gè)字節(jié)的數(shù)據(jù),分別放在自FIRST和SECOND開(kāi)始的存儲(chǔ)區(qū)中,試比較兩組數(shù)據(jù)是否相同,若相同,AL為0;若不同,AL為0FFH。 MOV SI,OFFSET FIRST ;SI作為第一組數(shù)的地址指針 MOV DI,OFFSET SECOND;DI作為第二組數(shù)的地址指針 MOV CX,50;置計(jì)數(shù)器初值 P: MOV AL,SI;從第一組數(shù)中取出一個(gè)數(shù)送AL CMP AL,DI;與第二組數(shù)中相同位
20、置的數(shù)比較 JZ NEXT;若相等,繼續(xù)比較 MOV AL,0FFH;若不等,AL為0FFH JMP STOP;跳出循環(huán)NEXT:INC SI;第一組數(shù)指針加1 INC DI;第二組數(shù)指針加1 DEC CX;計(jì)數(shù)值減1 JNZ P;若沒(méi)有比較完,則跳至P MOV AL,0;比較完了,都相等,則AL為0 STOP: HLT 程序設(shè)計(jì)語(yǔ)言可分為三種:機(jī)器語(yǔ)言、匯編語(yǔ)言、高級(jí)語(yǔ)言例:實(shí)現(xiàn)1100 的累加, 并將和存入SUM。ADDCOUNT EQU 100 ;為定義符號(hào)常量ADDCOUNTMYDATA SEGMENT ; 定義數(shù)據(jù)段SUM DW 0 ; 定義變量SUM, 并置初值為0STR1 DB
21、OK ! ; 定義字符串變量STR1MYDATA ENDS ; 定義數(shù)據(jù)段結(jié)束MYCODE SEGMENT ; 定義代碼段 ASSUME CS: MYCODE, DS : MYDATA ; 聲明代碼段、數(shù)據(jù)段為哪一個(gè)段START : MOV AX, MYDATA ; 初始化DS為MYDATA MOV DS, AX XOR AX, AX MOV CX, ADDCOUNTADDUP: ADD AX, CX ; CX 用于累加次數(shù)計(jì)數(shù), 完成1100 的累加 DEC CX JNZ ADDUP MOV SUM, AX MOV AH , 9 ; 向屏幕輸出OK !MOV DX, OFFSET STR1
22、INT 21H MOV AH , 4CH ; 退出程序返回DOS INT 21HMYCODE ENDS ; 定義代碼段結(jié)束 END START ; 定義該程序模塊結(jié)束掌握基本指令:MOVXCHGXLAT、PUSHPOP、LEA;CLCSTCSTC、CLDSTD;ADDADCINC、SUBSBBDECCMPNEG、CBWCWD匯編語(yǔ)言源程序的一般格式段結(jié)構(gòu):匯編語(yǔ)言源程序一般包括數(shù)據(jù)段、堆棧段、附加數(shù)據(jù)段和代碼段, 即程序由段結(jié)構(gòu) 組成。數(shù)據(jù)段:用于存放變量、數(shù)據(jù)和結(jié)果。堆棧段:用于執(zhí)行壓棧、出棧操作, 以便子程序調(diào)用時(shí)保存現(xiàn)場(chǎng)和恢復(fù)現(xiàn)場(chǎng), 也用于傳遞數(shù)。代碼段:則是所編制的執(zhí)行程序或常數(shù)表格。
23、代碼段必不可少, 其他段不需要時(shí)可以省略。 匯編源程序一般由若干段組成, 每個(gè)段都有一個(gè)名字(叫段名) , 以SEGMENT 作為段的開(kāi)始, 以ENDS 作為段的結(jié)束, 這兩者( 偽指令) 前面都要冠以相同的名字。 從性質(zhì)上可分為代碼段、堆棧段、數(shù)據(jù)段和附加段四種, 但代碼段與堆棧段是不可少的, 數(shù)據(jù)段與附加段可根據(jù)需要設(shè)置。在本例中, 一共定義了3 個(gè)段: 1 個(gè)數(shù)據(jù)段、1 個(gè)堆棧段和1 個(gè)代碼段。這3 個(gè)段的段名分別為DATA, STACK 和CODE, 均由用戶(hù)自己設(shè)定。在代碼段中, 用ASSUME 命令 (偽命令) 告訴匯編程序, 在各種指令執(zhí)行時(shí)所要訪問(wèn)的各段寄存器將分別對(duì)應(yīng)哪一段。
24、程序中不必給出這些段在內(nèi)存中的具體位置, 而由匯編程序自行定位。各段在源程序中的順序可任意安排, 段的數(shù)目原則上也不受限制, 段名可以任選。 源程序的每一段是由若干行匯編語(yǔ)句組成的, 每一行只有一條語(yǔ)句, 且不能超過(guò)128 個(gè)字符, 但一條語(yǔ)句允許有后續(xù)行, 最后均以回車(chē)作結(jié)束。整個(gè)源程序必須以END 語(yǔ)句來(lái)結(jié)束,它通知匯編程序停止匯編。END 后面的標(biāo)號(hào)START 表示該程序執(zhí)行時(shí)的起始地址。匯編語(yǔ)言語(yǔ)句格式匯編語(yǔ)言源程序:由一系列語(yǔ)句組成。 語(yǔ)句:包括指令語(yǔ)句與偽指令語(yǔ)句。指令語(yǔ)句:是機(jī)器指令的符號(hào)表示, 經(jīng)過(guò)匯編后產(chǎn)生對(duì)應(yīng)的機(jī)器碼, 指定CPU何 種操作, 在執(zhí)行程序時(shí)被執(zhí)行。偽指令語(yǔ)句
25、:即偽指令語(yǔ)句只是給匯編程序提供一些控制信息,如定義符號(hào), 分配存儲(chǔ)單元, 初始化存儲(chǔ)器等, 而本身并不生成目標(biāo)代碼。1、 標(biāo)號(hào)和名字(1) 標(biāo)號(hào)及其屬性 標(biāo)號(hào)是指令的符號(hào)地址, 表示“ :”后面的指令所在的存儲(chǔ)器中的首地址, 用來(lái)作為匯編語(yǔ)言源程序中轉(zhuǎn)移、調(diào)用以及循環(huán)等指令的操作數(shù)程序轉(zhuǎn)移的目標(biāo)地址。 三種屬性:段地址、段內(nèi)偏移地址以及類(lèi)型。 段地址: 標(biāo)號(hào)所在段的段地址( 16 位數(shù)) , 是標(biāo)號(hào)所在段起始地址的前16 位。 段內(nèi)偏移地址: 它是標(biāo)號(hào)與段起始地址之間 相距的字節(jié)數(shù), 為一16 位無(wú)符號(hào)數(shù)。 類(lèi)型: 類(lèi)型表示該標(biāo)號(hào)所代表的指令的轉(zhuǎn)移范圍, 分NEAR 與FAR 兩種。 NEA
26、R 類(lèi)型的標(biāo)號(hào)僅在同一段內(nèi)使用, 用2 字節(jié)指針給出偏移地址屬性; FAR 類(lèi)型的標(biāo)號(hào)無(wú)此限制, 必須用4 字節(jié)指針指出其段基地址及段內(nèi)偏移地址。(2) 標(biāo)號(hào)的定義 標(biāo)號(hào)的組成: 標(biāo)號(hào)用一標(biāo)識(shí)符定義, 即以字母開(kāi)頭, 由字母、數(shù)字、特殊字符(如?、* 、下劃線、S| 、 等)組成的字符串表示,標(biāo)號(hào)的最大長(zhǎng)度不超過(guò)31個(gè)字符,標(biāo)號(hào)最好具有一定含義的英文單詞或單詞縮寫(xiě)表示, 以便于閱讀。 在指令的助記符之前, 使用標(biāo)號(hào)并緊跟一個(gè)冒號(hào)“ :”, 表示該標(biāo)號(hào)被定義為一個(gè)類(lèi)型為NEAR 的標(biāo)號(hào)。(3)名字2、指令助記符 指令助記符和偽指令助記符。3、參數(shù) 不同的語(yǔ)句,要求有不同的參數(shù)。 參數(shù)可分為三類(lèi):
27、常量、操作數(shù)和表達(dá)式。4、注釋 以“ ; ”開(kāi)始, 用來(lái)簡(jiǎn)要說(shuō)明該指令在程序中的作用, 以提高程序的可讀性。常量:固定值稱(chēng)為常量, 在匯編期間它的值已完全確定, 且在程序運(yùn)行中它的值不會(huì)發(fā)生改變。常量可以是數(shù)據(jù)和字符。常量有“數(shù)字常量”和“字符串常量”等。 (1)數(shù)字( 整數(shù))常量:如 01001001B、1538D、1538、0ABCDH (2)字符串常量:用單引號(hào)括起來(lái)的一個(gè)或多個(gè)字符。這些字符以ASCII 碼形式存儲(chǔ)在內(nèi)中。 如AB, 在內(nèi)存中就是41H , 42H;操作數(shù):操作數(shù)可以是常量、寄存器名和存儲(chǔ)器操作數(shù)。 存儲(chǔ)器操作數(shù)是存儲(chǔ)器地址,用于指令語(yǔ)句的各種尋址方式。在匯編語(yǔ)言中一般
28、不用物理地址,而用符號(hào)地址,具體有標(biāo)號(hào)和變量?jī)煞N。1) 變量:變量是指存放在某些存儲(chǔ)單元的數(shù)據(jù),在程序運(yùn)行期間隨時(shí)可以修改。為了便于對(duì)變量的訪問(wèn), 常以變量名的形式出現(xiàn)在程序中, 變量名可以看做是存放數(shù)據(jù)的存儲(chǔ)單元的符號(hào)地址。a.變量的定義與預(yù)置:給變量分配存儲(chǔ)單元, 且對(duì)這些存儲(chǔ)單元賦予一個(gè)符號(hào)名變量名, 同時(shí)將這些存儲(chǔ)單元預(yù)置初值。b.變量屬性:經(jīng)過(guò)定義的變量有3 個(gè)屬性, 段屬性(SEG) : 表示變量所在邏輯段的段基址。 偏移量屬性(OFFSET): 表示變量在邏輯段離段起始點(diǎn)的字節(jié)數(shù)。 類(lèi)型屬性(TYPE):表示變量占用存儲(chǔ)單元的字節(jié)數(shù)。 變量的類(lèi)型屬性由變量定義偽指令DB、DW、D
29、D 規(guī)定, 分別對(duì)應(yīng)字節(jié)類(lèi)型(BYTE)、字類(lèi)型 (WORD)、雙字類(lèi)型( DOUBLEWORD)。c.變量與標(biāo)號(hào) 標(biāo)號(hào)是給指令性語(yǔ)句所在單元地址取的名字,它表明該指令在存儲(chǔ)器中的位置, 可作為轉(zhuǎn)移類(lèi)指令(包括子程序調(diào)用) 的操作數(shù)。標(biāo)號(hào)與變量類(lèi)似, 都是存儲(chǔ)單元的符號(hào)地址。只是標(biāo)號(hào)對(duì)應(yīng)的存儲(chǔ)單元中存放的是指令; 而變量所對(duì)應(yīng)的存儲(chǔ)單元中存放的是數(shù)據(jù)。 屬性:段屬性;偏移量屬性;類(lèi)型屬性表達(dá)式:將常量、操作數(shù)用運(yùn)算符連接起來(lái)形成表達(dá)式,在匯編時(shí)分別產(chǎn)生一個(gè)數(shù)值或 一個(gè)地址。運(yùn)算符:在匯編語(yǔ)言中運(yùn)算符分為6 類(lèi)運(yùn)算符, 分別是:算術(shù)運(yùn)算符、 邏輯運(yùn)算符、關(guān)系 運(yùn)算符、 分析運(yùn)算符、合成運(yùn)算符、
30、分離運(yùn)算符。表達(dá)式分類(lèi): 數(shù)值表達(dá)式和地址表達(dá)式, 在匯編過(guò)程中分別產(chǎn)生一個(gè)數(shù)值或一個(gè)地址。注意:表達(dá)式的運(yùn)算不是在執(zhí)行程序時(shí)進(jìn)行的,而是由匯編程序在匯編時(shí)預(yù)先對(duì)他進(jìn)行運(yùn)算。DOS 常用中斷調(diào)用1) 返回DOS 向量號(hào) 21H 功能號(hào) 4CH 例: MOV AH , 4CH INT 21H2) 鍵盤(pán)輸入并顯示 向量號(hào) 21H 功能號(hào) 1 功能:從鍵盤(pán)輸入一個(gè)字符, 將 其ASCII 碼保存在AL 中, 輸 入字符回顯在CRT 上。 例 MOV AH , 1 INT 21H 中斷返回時(shí), 輸入字符的ASCII 碼 被存放在AL 中, 該字符并顯示在屏幕上。3) 鍵盤(pán)輸入但不顯示輸入字符 向量號(hào)
31、21H 功能號(hào) 8 功能:輸入一字符, 其ASCII 碼存放在AL 中, 但不顯示。這種功能往往在設(shè)置口令時(shí)使用。 例 MOV AH , 8 INT 21H4)顯示一字符 向量號(hào) 21H 功能號(hào) 2 入口參數(shù): DL= 待顯示字符的ASCII碼 功能:顯示DL 中的字符。 例 顯示字符“*”: MOV AH , 2 MOV DL ,* INT 21H5)在打印機(jī)上打印一字符 向量號(hào) 21H 功能號(hào) 5 入口參數(shù): DL= 待打印字符的ASCII碼 例 打印數(shù)字9: MOV AH , 5 MOV DL ,9 INT 21H6)顯示以“”結(jié)尾的字符串 向量號(hào) 21H 功能號(hào) 9 入口參數(shù): DS:
32、 DX 指向字符串的首地址7)字符串輸入 向量號(hào) 21H 功能號(hào) 0AH 入口參數(shù): DS: DX 指向輸入緩沖區(qū)。 輸入緩沖區(qū)格式如下: 第1 字節(jié)為預(yù)定的最大輸入字符數(shù)。 第2 字節(jié)空出, 待中斷服務(wù)程序填入鍵盤(pán)連續(xù)輸入到回車(chē)前實(shí)際輸入字符數(shù)。 第3 字節(jié)及以后字節(jié), 待中斷服務(wù)程序填入輸入字符串的ASCII 碼。例:編寫(xiě)一個(gè)實(shí)現(xiàn)把一位十六進(jìn)制數(shù)轉(zhuǎn)換為對(duì)應(yīng)ASCII 碼的程序。分析: 十六進(jìn)制數(shù)與對(duì)應(yīng)ASCII碼的關(guān)系如下 0 1 2 3 4 5 6 7 8 9 30H 31H 32H 33H 34H 35H 36H 37H 38H 39H A B C D E F 41H 42H 43H
33、44H 45H 46H這種對(duì)應(yīng)關(guān)系可表示為一個(gè)分段函數(shù): Y= X + 30H ( 0<=X<=9 ) X + 37H (0AH<=X<=0FH )所以, 程序要根據(jù)十六進(jìn)制數(shù)碼值是否超過(guò)9 而進(jìn)行分支。源程序如下: DATA SEGMENT XX DB 4 ; 假設(shè)的十六進(jìn)制數(shù)ASCII DB ? ; 存放對(duì)應(yīng)的ASCII 碼 DATA ENDS CODE SEGMENT ASSUME CS : CODE, DS :DATASTART :MOV AX, DATAS MOV DS, AX MOV AL, XX AND AL, 0FH ; 確保在0 至F 之間CMP AL
34、, 9 JA LAB1 ; 超過(guò)9 轉(zhuǎn)移到LAB1 , 加37H ADD AL, 30H ; 否則, 加30H JMP LAB2LAB1:ADD AL, 37HLAB2: MOV ASCII , AL MOV AH , 4CH INT 21HCODE ENDS END START例:從TABLE單元開(kāi)始存放著一個(gè)班級(jí)學(xué)生的成績(jī)(用$表示結(jié)束)。60分以下為差,6069分為及格,7079分為中,8089分為良,90100分為優(yōu)。 試統(tǒng)計(jì)各個(gè)分?jǐn)?shù)段的人數(shù)。 DATA SEGMENTTABLEDB 86,96,80,77DB49,88,68,73DB 88,69,$ SORTDB 5 DUP(0)D
35、ATA ENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVSI,OFFSET TABLENEXT:MOVAL,SIINCSICMPAL,$ JZOVER CMPAL,60JBECMPAL,70JBDCMPAL,80JBCCMPAL,90JBBINCSORT;優(yōu)+1JMPNEXTE:INCSORT+4;差+1JMPNEXTD:INCSORT+3;及格+1JMPNEXTC:INCSORT+2;中+1JMPNEXTB:INCSORT+1;良+1JMPNEXTOVER:MOVAH,4CHINT21H CODEENDSENDST
36、ART 例: 試編寫(xiě)程序段, 實(shí)現(xiàn)符號(hào)函數(shù)。分析: 變量X 的符號(hào)函數(shù)可表示為:Y = 1 X > 0 0 X = 0 - 1 X < 0DATA SEGMEN TX DW - 3Y DW ?DATA ENDSCODE SEGMENT ASSUME CS : CODE, DS :DATASTART :MOV AX, DATA MOV DS, AX MOV AX, X OR AX, AXJE ZERO ; X = 0 , 則轉(zhuǎn)ZERO JNS PLUS ; X 為正數(shù), 則轉(zhuǎn)PLUS MOV BX,0FFFFH ; X 為負(fù)數(shù),則-1送BX JMP CONT1ZERO: MOV BX
37、, 0 JMP CONT1PLUS: MOV BX, 1CONT1:MOV Y, BX MOV AH , 4CH INT 21HCODE ENDS END START例:從BUF單元開(kāi)始有9個(gè)有符號(hào)的16位數(shù),求正數(shù)的個(gè)數(shù)并顯示到顯示器上。DATASEGMENTBUF DW 9DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATA MOVDS,AX MOVSI,OFFSET BUF;置數(shù)據(jù)指針SI MOVDL,0;計(jì)數(shù)器清零 MOVCX,9;置循環(huán)次數(shù)LP: MOVAX,SI ;取數(shù)送AX TEST AX,8000H ;檢測(cè)
38、AX的最高位 JNZNEXT;若最高位為1則轉(zhuǎn)NEXT INC DL;否則,計(jì)數(shù)器加1NEXT:INC SI INC SI ;修改指針 LOOP LP;若CX10,轉(zhuǎn)LP ORDL,30H;否則,將DL內(nèi)的數(shù)據(jù)轉(zhuǎn)換為ASC碼 MOVAH,2INT21H ;INT 21H軟中斷功能調(diào)用,顯示DL中的數(shù)據(jù) MOV AH,4CH INT21H;返回DOSCODE ENDSEND START例: 從 STRIN 單元開(kāi)始有一字符串, 以作為結(jié)束標(biāo)志, 求字符串的長(zhǎng)度。程序如下:DATA SEGMENTSTRIN DB ASDFGHJ123KJCOUNT DW ?DATA ENDSCODE SEGMEN
39、TASSUME CS : CODE, DS :DATA; START :MOV AX, DATA MOV DS, AX MOV BX, OFFSET STRIN ; 置地址指針 MOV CX, 0 ; 置計(jì)數(shù)器初值為0 LP : MOV AL, BX ; 取一個(gè)字符到AL 中 CMP AL, ; 是嗎? JE DONE ; 是則結(jié)束 INC CX ; 不是則計(jì)數(shù)加1 INC BX ; 地址加1 JMP LP ; 繼續(xù) DONE: MOV COUNT , CX ; 計(jì)數(shù)送COUNT 單元 MOV AH , 4CH INT 21H CODE ENDS END START例: 從 STRIN 單元開(kāi)
40、始有一字符串, 以作為結(jié)束標(biāo)志, 求字符串的長(zhǎng)度。程序如下:DATA SEGMENTSTRIN DB ASDFGHJ123KJCOUNT DW ?DATA ENDSCODE SEGMENTASSUME CS : CODE, DS :DATA; START :MOV AX, DATA MOV DS, AX MOV BX, OFFSET STRIN ; 置地 址指針 MOV CX, 0 ; 置計(jì)數(shù)器初值為0 LP : MOV AL, BX ; 取一個(gè)字符到AL 中 CMP AL, ; 是 嗎? JE DONE ; 是則結(jié)束 INC CX ; 不是則計(jì)數(shù)加 1 INC BX ; 地址加1 JMP L
41、P ; 繼續(xù) DONE: MOV COUNT , CX ; 計(jì)數(shù)送 COUNT 單元 MOV AH , 4CH INT 21H CODE ENDS END START例:延時(shí)顯示7個(gè)MAIN DATASEGMENTTABLE DB MAIN DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVCX,0007HA2:MOVDX, OFFSET TABLEMOVAH,09HINT21HCALL DELAYLOOPA2MOVAH,4CHINT21HDELAYPROC NEARPUSH CXPUSHAX MOVCX,00
42、40HA3:MOVAX,0560HA4:DECAXJNZA4LOOPA3POPAXPOPCXRET DELAYENDP CODEENDSENDSTART例:將內(nèi)存區(qū)域中的兩個(gè)單字節(jié)相加,結(jié)果送入第3字節(jié),并將結(jié)果轉(zhuǎn)換成十進(jìn) 制數(shù)(兩位數(shù))送顯示器顯示。DATASEGMENTLISTDB16,48,?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXCALLADSUB;相加,存結(jié)果CALLOUTPR;顯示結(jié)果MOVAH,4CHINT21H;返回DOSADSUB PROCMOVAL,LISTADDAL,LIST+1MOV
43、LIST+2,ALRETADSUBENDPOUTPRPROCMOVAL,LIST+2MOVAH,0MOVBL,10DIVBLMOVDL,ALMOVBH,AHCALLDISPLMOVDL,BHCALLDISPLRETOUTPR ENDPDISPL PROC ORDL,30HMOVAH,2INT21HRETDISPL ENDPCODE ENDSEND START 存儲(chǔ)器的分類(lèi)按存取方式:(1)隨機(jī)存儲(chǔ)器(RAM):讀/寫(xiě)存儲(chǔ)器,計(jì)算機(jī)的內(nèi)存、CACHE均屬于RAM(2)只讀存儲(chǔ)器(ROM):只能讀出信息,不能寫(xiě)入新的內(nèi)容,用于存放固定不變的系統(tǒng)程序或子程序等(3)順序存儲(chǔ)器(SAM):信息排列、尋
44、址操作和讀寫(xiě)操作均按順序進(jìn)行,如磁帶半導(dǎo)體存儲(chǔ)器的分類(lèi)例1、某EPROM芯片的外部引線如圖所示,試將此芯片接到C8000H到CFFFFH的內(nèi)存地址上(使用74LS138譯碼器),畫(huà)出連接圖。 例2、試判斷下圖所示的譯碼邏輯電路中74LS138譯碼器的輸出Y0、Y4、Y6、Y7所 決定的內(nèi)存地址范圍。例3、某存儲(chǔ)器芯片的選片譯碼器如圖所示,試寫(xiě)出該芯片所占的內(nèi)存地址范圍 12000H12FFFH13000H13FFFH74LS244輸入實(shí)例輸出實(shí)例基本輸入輸出接口無(wú)條件傳送:輸入實(shí)例無(wú)條件傳送:輸出實(shí)例無(wú)條件傳送:基本輸入輸出接口查詢(xún)輸入接口查詢(xún)輸出接口8255AA1 、A0 為00 時(shí), 選中
45、A 端口; 為01 時(shí), 選中B 端口; 為10 時(shí), 選中C 端口; 為11 時(shí), 選中控制端口。RD 芯片讀出信號(hào), 低電平有效。WR 芯片寫(xiě)入信號(hào), 低電平有效。方式選擇控制字端口C 置1/置0 控制字練習(xí):簡(jiǎn)單的輸入/輸出,即顯示燈接口具體要求:有12個(gè)燈,4個(gè)開(kāi)關(guān),(每次有且只有一個(gè)合上)如開(kāi)關(guān)1合上(為高電平),則前4個(gè)燈亮,如開(kāi)關(guān)2合上(為高電平),則中4個(gè)燈亮如開(kāi)關(guān)3合上(為高電平),則后4個(gè)燈亮,如開(kāi)關(guān)4合上(為高電平),則退出驅(qū)動(dòng)程序MOVDX,33BHMOV AL,10001000B;初始化8255,設(shè)PC7PC4為輸入,其它為輸出,0方式OUTDX,ALLP0:MOVD
46、X,338HMOVAL,0FFHOUTDX,AL ;給PA口輸出FFH,使 燈滅MOVDX,339HOUTDX,AL ;給PB口輸出FFH,使 燈滅MOVDX,33AHOUTDX,AL ;給PC口輸出FFH,使 燈滅L:MOV DX,33AHIN AL,DX;讀入開(kāi)關(guān)狀態(tài)MOV AH,AL AND AL,80HJNZ L1;開(kāi)關(guān)1合,跳轉(zhuǎn)MOV AL,AHAND AL,40HJNZ L2 ;開(kāi)關(guān)2合,跳轉(zhuǎn)MOV AL,AHAND AL,20HJNZ L3 ;開(kāi)關(guān)3合,跳轉(zhuǎn)MOVAL,AHAND AL,10HJNZ STOP;開(kāi)關(guān)4合,跳轉(zhuǎn)JMP LLI:MOVDX,33AHMOV AL,0HOUT DX,AL ;給PC口輸出全0,使 前4燈亮MOV AL,0FHMOV DX,339HOUT DX,AL ;給PB口輸出1,使中 4燈滅MOV DX,338HOUT DX,AL
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 我長(zhǎng)大了健康領(lǐng)
- 城市管理信息系統(tǒng)
- 寫(xiě)景朗讀指導(dǎo)課件
- 教育研究方法文獻(xiàn)
- 企業(yè)數(shù)據(jù)架構(gòu)之?dāng)?shù)據(jù)質(zhì)量提升與企業(yè)級(jí)數(shù)據(jù)模型構(gòu)建策略
- 2025年燒結(jié)釹鐵硼永磁材料項(xiàng)目規(guī)劃申請(qǐng)報(bào)告
- 2025年家用家具項(xiàng)目立項(xiàng)申請(qǐng)報(bào)告模板
- 2025年米面類(lèi)項(xiàng)目提案報(bào)告
- 詞的教學(xué)課件
- 五分鐘英文教學(xué)試講課件
- 危重癥鎮(zhèn)痛鎮(zhèn)靜的護(hù)理
- 2025年?duì)t外精煉工職業(yè)技能考試題庫(kù)及答案(完整版)
- TCRHA 088-2024 病理免疫組織化學(xué)檢測(cè)質(zhì)控品要求
- 2025年高考語(yǔ)文備考之文學(xué)類(lèi)文本閱讀:敘述視角專(zhuān)項(xiàng)限時(shí)練
- 起重機(jī)司機(jī)Q2(限橋式起重機(jī))題庫(kù)題庫(kù)(1727道)
- 第九章 西半球的國(guó)家 單元教學(xué)設(shè)計(jì)-2023-2024學(xué)年七年級(jí)地理下學(xué)期人教版
- 云南錫業(yè)職業(yè)技術(shù)學(xué)院《影視劇配音》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年遼寧沈陽(yáng)地鐵集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- 體檢中心接待規(guī)范流程
- 2025年全國(guó)水務(wù)集團(tuán)招聘筆試參考題庫(kù)含答案解析
- 阿細(xì)跳月課件
評(píng)論
0/150
提交評(píng)論