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

正文內容

[理學]ch04匯編語言程序設計-資料下載頁

2025-01-19 14:39本頁面
  

【正文】 2022/2/16 微機原理 44 有關 I/O的 DOS功能調用 為了在程序運行過程中了解運行的情況,應該設法把結果在顯示器 CRT上顯示出來。要在程序中顯示結果,方便的方法是調用操作系統(tǒng)中的 I/O子程序 。在調用時,把子程序的號 (或稱系統(tǒng)功能調用號 )送至 AH, 把子程序規(guī)定的入口參數(shù),送至指定的寄存器,然后由中斷指令 INT 21H來實現(xiàn)調用。 2022/2/16 微機原理 45 1. 在 CRT上連續(xù)輸出字符 0~ 9 DOS的功能 調用 2就是向 CRT輸出一個字符的子程序,它要求把要輸出的字符的 ASCII碼送至寄存器 DL。即: MOV DL, OUTPUT_CHAR MOV AH, 2 INT 21H 為了使輸出的字符之間有間隔,在每一循環(huán)中,輸出一個 0~ 9的字符和一個空格。要輸出 0~ 9,只要使一個寄存器 (程序中為 BL)的初值為 0,每循環(huán)一次使其增量,為了保證是十進制數(shù),增量后要用 DAA指令調整 ,為了保證始終是 一位十進制數(shù) ,用 AND 0FH指令屏蔽掉高 4位。其流程如圖 410所示。 相應的程序為: 2022/2/16 微機原理 46 圖 410 2022/2/16 微機原理 47 name output_char_0_9 stack segment para stack′stack′ db 100 dup(?) stack ends code segment assume cs: code, ss: stack start proc far begin: push ds mov ax, 0 push ax mov bl, 0 push bx goon: mov d1, 20h;把空格字符 → DL mov ah, 2 2022/2/16 微機原理 48 int 21h ;輸出空格字符 pop bx mov al, bl inc al daa ;增量后進行十進制調整 and al, 0fh mov bl, al push bx or al, 30h ;轉換為 ASCII碼 mov dL, al mov ah, 2 int 21h ;輸出一個 0~ 9之間的字 符 mov cx, 0ffffh;為便于觀察,插入一 定的延時 2022/2/16 微機原理 49 again: dec cx jne again jmp goon start endp code ends end begin 2022/2/16 微機原理 50 2. 在 CRT上連續(xù)顯示 00~ 59 在微型計算機系統(tǒng)上常常可以顯示實時時鐘,這就要求能輸出數(shù)碼 00~ 59。 要輸出多于一個字符時,要利用功能調用 9,它是向 CRT輸出字符串的子程序,要求在調用前使 DX指向字符串的首地址,字符串必須以字符“$”結束,則功能調用 9能把字符“$”之前的全部字符向 CRT輸出。 為了使每次輸出的數(shù)碼能夠換行,在每一循環(huán)中,利用系統(tǒng)調用 2,分別輸出一個回車和換行字符,其流程如圖 411所示。 相應的程序為: 2022/2/16 微機原理 51 2022/2/16 微機原理 52 name output_char_00_59 stack segment para stack′stack′ db 100 dup(?) stack ends data segment buffer db 3 dup(?) data ends code segment assume cs: code, ds: data, ss: stack start proc far begin: push ds mov ax, 0 push ax mov ax, data 2022/2/16 微機原理 53 mov ds, ax mov cx, 1000;設置最大的循環(huán)次數(shù) mov bl, 0 lea si, buffer push bx goon: mov dl, 0dh mov ah, 2;輸出回車符 int 21h mov dl, 0ah mov ah, 2 int 21h pop bx mov al, bl 2022/2/16 微機原理 54 inc al daa cmp al, 60h; AL增加到 60了嗎 jc next;未達到,轉去顯示 mov al, 0;已到 60,置為 0 next: mov bl, al push bx mov dl, al push cx mov cl, 4 shr al, cl or al, 30h;把 AL中十位數(shù),轉換 為 ASCII碼 mov [ si], al 2022/2/16 微機原理 55 inc si mov al, dl and al, 0fh or al, 30h;把 AL中的個位數(shù),轉 換為 ASCII碼 mov [ si], al inc si mov al, ′$ ′ mov [ si], al mov dx, offset buffer mov ah, 9 int 21h;輸出字符串 mov cx, 0ffffh again: dec cx 2022/2/16 微機原理 56 jne again pop cx dec cx je done mov si, offset buffer jmp goon done: ret starte ndp code ends end begin 2022/2/16 微機原理 57 小結 變量定義偽指令、段定義偽指令以及其它常用 偽指令的功能和用法。 本章需要掌握的知識點 順序、分支、循環(huán)、子程序等 4類結構程序 的特點和編程方法。 匯編語言程序的分段結構和語句格式,表達式和運算符的用法。 2022/2/16 微機原理 58 作業(yè) (P142):
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1