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

正文內(nèi)容

微機(jī)原理答疑題庫-資料下載頁

2025-03-25 01:55本頁面
  

【正文】 ;是 0,且(CX)≠0,循環(huán)JNZORENTRY;找到第一個非零元素,轉(zhuǎn)ALLZ:RET;整個數(shù)組為 0,退出ORENTRY:INCCX;退回一個序號MOVWORDPTRNO,CX;存序號JMPALLZ;................................................45當(dāng)計算兩個字節(jié)數(shù)組 ARRAY1和 ARRAY2之和,若遇到兩個數(shù)組中的項同時為 0時,即停止計算,并在 NO單元中記下非零數(shù)組的長度,設(shè)兩個數(shù)組長度均為 8,使用 LOOPNZ指令。解:MOVAL,0;清和MOVSI,1;設(shè)指針MOVCX,8;設(shè)計數(shù)值NONZERO:INCSIMOVAL,ARRAY1[SI];取被加數(shù)ADDAL,ARRAY2[SI];相加MOVSUM[SI],AL;存和LOOPNZNONZERO;不為 0,循環(huán)JZORENTRYZERO:RET;為 0,退出ORENTRY:INCCXMOV WORDPTRNO,CX;存序號JMP ZERO 09和 OAH系統(tǒng)功能調(diào)用,實現(xiàn)人一機(jī)會話。解:源程序如下:DATASEGMENTBUFDB81DB?DB81DUP(?)MESGDB’WHATISYOURNAME?’ ,OAH,ODHDB‘$’DATAENDSSTACKSEGMENTPARASTACK慡 TACK?/PDB1O0DUP(?)STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTARTPROCFARPUSHDSMOVAX,0PUSHAXMOVAX,DATAMOVDS,AXDISP:MOVDX,OFFSETMESG;顯示提問信息MOVAH,09INT21HRET;返回 DOSSTART ENDPCODE ENDSEND START(過程)PROCET 的執(zhí)行時間,可借用 BIOS的 INT1AH的 1號功能調(diào)用。先將時間計數(shù)器CX:DX 設(shè)置為 0,然后執(zhí)行程序段。計數(shù)器自動計時,最后執(zhí)行 0號功能調(diào)用,讀時間計數(shù)器值,此值放在CX:DX 中,乘以 ,即可測得 PROCET過程的執(zhí)行時間。這種測試方法所產(chǎn)生的誤差約為。該程序段如下:;............................................................STIMOVCX,0;設(shè)時間計數(shù)器初值為 0MOVDX,0MOVAH,1INT1AHCALLPROCET;執(zhí)行過程MOVAH,0;讀時間計數(shù)器的值INT1AH;............................................................48用 BIOS的中斷調(diào)用作定時控制。要求每隔 1.1s 從鍵盤讀一個字符并將該字符的 ASCll碼送入內(nèi)存緩沖區(qū),共讀入 10字符(最后一個字符為$,以便顯示)解:源程序如下:DATASEGMENTCHARDB10DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATAMAINPROCPARPUSHDSXORAX,AXPUSHAXMOVAX,DATAMOVDS,AXSTART:LEABX,CHAR;指向存儲區(qū)MOVCX,10;設(shè)計數(shù)STI;開中斷LOPI:MOVAH,1PUSHCXMOVCX,0;設(shè)時間計數(shù)器為 0MOVDX,0INT1AHLOPZ:MOVAX,0;讀時間計數(shù)值INT1AHCMPDL,20JNZLOPZMOVAH,0;從鍵盤接收字符(以$結(jié)束)INT16HMOV[BX],AL;放入存儲區(qū)INCBX;修改指針POPCXL00PLOPI;循環(huán)MOVDX,OFFSETCHAR;顯示輸入字符MOVAH,9INT21HRET;返回 DOSMAINENDPCODEENDSENDMAIN:其功能是對被測試字中 1的個數(shù)進(jìn)行計數(shù)。本例作為子程序設(shè)計的一個例子,是程序與子程序不在一個代碼段,和調(diào)用程序與子程序在一個代碼段這兩種情況都具備的應(yīng)用實例,也是一個子程序嵌套結(jié)構(gòu)的實例。 解: ;源模塊 1PUBIC TWORD,MASKS ;可供外部使用的公共變量及數(shù)據(jù)EXTRN WCNTIS:FAR,OPSYS:FAR ;用到的外部子程序及外部過程STACK SEGMENT STACK ;堆棧段DW 32 DUP(?) ;堆棧區(qū)STKE LABEL WORD STACK ENDSMAIND SEGMENT ;數(shù)據(jù)段MASKS DB 80H,40H,20H,10H,08H,04H,02H,01H;測試用的屏蔽字TWORD DW 27A9H ;被測試數(shù)MAIND ENDSMAINC SEGMENT PUBIC ;主程序碼段 MCS:MAINC,DS:MAIND,SS:STACK,ES:MAIND。MAIN: MOV AX,STACK ;堆棧段寄存器初始化MOV SS,AXMOV SP,OFFSET STKE ;堆棧格外初始化MOV AX,MAIND ;數(shù)據(jù)段初始化MOV DS,AXMOV ES,AX ;附加段初始他CALL FAR PTR WCNTIS ;調(diào)用計算 1個數(shù)的外部子程序CALL FAR PTR OPSYS ;調(diào)用返回報作系統(tǒng)的外部過程MAINC ENDSEND MAIN ;原模塊 2;子程序目的:WCNT 是計等一個字中 1的個數(shù);出 口:AX 中放該字的 1的個數(shù);所門用于程序:調(diào)用 2次計等一個字節(jié)中 1個數(shù)的手程序 WCNTIS.調(diào)用前將阿 AX中數(shù)分為高低兩字節(jié)PUBIC WCNTIS ;可供外部使用的干程序EXTRN TWORD:WORD,MASKS:BYTE ;用到的外都變量及數(shù)據(jù)M SEGMENT PARA STACK ‘STACK’DB 20 DUP(?)CNTSEG SEGMENT PUBLIN ;子程序碼段ASSUME CS:CNTSEG,SS:STACK;這里 CS被賦予新值WCNTIS PROC FAR ;子程序 WCNTIS開始MOV AX,TWORD ;取入被測試數(shù)CALL NEAR PTR BCNTIS ;計算 AL中 1的個數(shù),結(jié)果在 CX中PUSH CX ;1 的個數(shù)人棧M0V AL,AHCALL NEAR PTR BCNTS ;計算 AH 中 1的個數(shù)POP AX ;取出低字節(jié) 1個數(shù)ADD AX,CX ;加上高字節(jié) 1個數(shù)RET ;返回WCNIS ENDP ;子程序 WCNIS結(jié)束BCNTIS PROC NEAR ;子程序 BCNTIS開始;子程序目的:計算字節(jié)中 1的個數(shù);人口:字節(jié)數(shù)在 AL中;出口:1 的個數(shù)在 CX中MOV CX,0 ;初始化MOV SI,0 ;第一個選位字節(jié)的變址BL00P:TEST AL,MASKS[SI] ;測試 1位JZ BNEXT ;為零,轉(zhuǎn)移INC CL ;為 1,計數(shù)加 1BNEXT: INC SI ;指向下一位CMP SI,8 ;測試完?JNE BL00P ;否,繼續(xù)RET ;是,返回BCNIS ENDPCNG ENDSEND;源模塊 3PUBIC OPSYS ;可供外部使用的公共過程CODE SEGMENT PUBICASSUME CS:CODEOPSYS PROC FARMOV AH,4CH ;返回 DOSINT 21HRETOPSY ENDCODE ENDSEND被測試字 TWORD被取入 AX中,主程序 MAIN調(diào)用于程序 WCNTIS以計數(shù) AX中 1的個數(shù) WCNTIS又調(diào)用于程序BCNTIS兩次,BCNIS 為計數(shù)字節(jié)中 1個數(shù)的子程序,最后結(jié)果在 CX中。 MZ和被乘數(shù) MI分別放在數(shù)據(jù)段中,乘積為 32位數(shù),存入 PI和 PZ的字單元中。PZ 為高位積,PI為低位積。源程序如下所示。DATASEGMENMIDW00FFH;被乘數(shù)MZDW00FFH;乘數(shù)PIDW?PZDD?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTRPROCFARMULT:PUSHDSMOVAX,0PUSHAXMOVAX,DATAMOVDS,AX;初始化 DSMOVAX,MIMULMZ;相乘MOVPI,AX;存結(jié)果MOVPZ,DXRETSTRENDPCODEENDSENDMULT;匯編結(jié)束的非組合的 BCD串 A與一個一位的非組合的 BCD數(shù) B相乘,乘積放入 C為首址的連續(xù)單元中。解:源程序如下所示。DATASEGMENTADB3,7,5,4,9COUNTEQU$一 ABDB6CDBCOUNT+1DUP(?)DATAENDSSTACKSEGMENPARASTACKSTACK?STAPNDB100DUP(?)STACKENDSCOSEGSEGMENTASSUMECS:COSE,DS:DATA,ES:DATASTRPROCFARMAIN:PUSHDS;保存返回地址MOVAX,0PUSHAXMOVAX,DATA;初始化 ES,DSMOVEX,AXMOVES,AXMOVDS,AXCLDMOVSI,OFFSETA;指向被乘數(shù)MOVDI,OFFSETC;指向積MOVCX,COUNT;設(shè)計數(shù)初值MOVBYTEPTR[DI],0CYCLE:LODS;取一位被乘數(shù)ANDAL,OFHMULBAAMADDAL,[DI]AAASTOSB;存一位積MOV[DI],AHL00PCYCLE;循環(huán)RETSTRENDPCOSEGENDSENDMAIN;匯編結(jié)束52.:已知兩個兩位的 BCD數(shù) FIRST和 SECOND存放在數(shù)據(jù)段,所得乘積放在 THIRD開始的兩個字節(jié)中。解:用累加算法完成相乘的源程序如下所示。要注意:BCD數(shù)存入時應(yīng)與十進(jìn)數(shù)相區(qū)別。例如 25(BCD)不應(yīng)寫為 25,而應(yīng)寫為 25H。NAMEMULTIPLY_BCDDATASEGMENTFIRSTDB25HSECONDDB25HTHIRDDB2DUP(?)DATAENDSSTACKSEGMENTPARASTACK“STACK”STAPNDB100DUP(?)STACKENDSCOSGSEGMENTASSUMECS:COSEG,DS:DATA,ES:DATASTRPROCFARSTART:PUSHDS;保存返回地址MOVAX,0PUSHAXMOVAX,DATA;初始化 DS,ESMOVDS,AXMOVES,AXMOVBL,F(xiàn)IRST;取乘數(shù)MOVCL,SECOND;取被乘數(shù)MOVDX,0;DX 存積MOVAX,BLAGAIN:ORAL,ALJZDONE;若乘數(shù)為 0,則轉(zhuǎn) DONEMOVAL,DLADDAL,CLDAA;結(jié)果在 ALMOVDL,ALADDAL,DHADCAL,0;處理進(jìn)位(加進(jìn)位)DAAMOVDL,ALADDAL,DHADCAL,0;處理進(jìn)位(加進(jìn)位)DAA53:設(shè)有兩個 32位數(shù),被乘數(shù)存放在字單元MCDI-HI 和 MCDI-LO 中,乘數(shù)存放在字單元MCDZ-HI 和 MCDZ-LO 中,試求它們的積。設(shè)積存放入從 RESUL開始的 8個字節(jié)單元中(低位字節(jié)在前),積的符號存放在 RLT-S 單元中。解:其源程序如下所示。STACKSEOMENTPARASTACK‘STACK‘DW100DUP(?)STACKENDSDATASEGMENRLT-SDB?;存結(jié)果符號位MCD1_HIDW?;被乘數(shù)MCD1_LODW?MCD2_HIDW?MCD2_LODW?RESULTDB8DUP(0);結(jié)果區(qū)(低位字節(jié)在前)DATAENDSCODESEGMENTASSLUMECS:CODE,ES:DATA,ES:DATAMUL32B_SPROCFARPUSHDS;保存返回地址MOVAX,0PUSHAXMOVAX,DATA;初始化 DS,ESMOVDS,AXMOVES,AX
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1