80x86汇编语言程序设计课件.ppt

80x86汇编语言程序设计课件.ppt

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共168页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2023-11-16 5.1.2 字元與字串的輸入/輸出方法 DOS系統調用INT 21H提供了字元及字串的I/O功能,例如: 01H:從鍵盤讀入一個字元 02H:顯示一個字元 09H:顯示一個字串 0AH:從鍵盤讀入一個字串 2023-11-16 5.1.2 字元與字串的輸入/輸出方法 1. 從鍵盤讀入一個字元 功能號:01H 出口參數:AL = 輸入字元的ASCII碼 功能:等待從鍵盤讀入一個字元,將其ASCII碼送入AL,同時將該字元顯示在螢幕上。 調用方法: mov ah, 1 int 21h 說明:輸入一個字元後,不需要回車。若只鍵入回車,則AL = 0DH。 ? 2023-11-16 5.1.2 字元與字串的輸入/輸出方法 2. 顯示一個字元 功能號:02H 入口參數:DL = 要顯示字元的ASCII碼 功能:在當前游標位置顯示DL中的字元,游標右移。 調用方法示例: mov dl, A ; 顯示字元A mov ah, 2 int 21h 說明:顯示字元0DH和0AH將產生回車和換行的作用。 ? 2023-11-16 5.1.2 字元與字串的輸入/輸出方法 ?3. 顯示一個字串 功能號:09H 入口參數:DS:DX = 欲顯示字串在內存的首地址,且字串必須以$(24H)作為結束符。 功能:在當前游標位置,顯示由DS:DX所指的、以$結尾的字串,且游標右移。其中,$不算在顯示的字串之內。 調用方法示例: String db Hello!, $ ; 顯示字串Hello! mov ax, seg String mov ds, ax mov dx, offset String mov ah, 9 int 21h ? 2023-11-16 5.1.2 字元與字串的輸入/輸出方法 ??4. 從鍵盤讀入一個字串 功能號:0AH 入口參數:DS:DX = 輸入緩衝區首地址 輸入緩衝區格式:第0位元組事先設置為緩衝區最多能容納的字元個數(包括回車);第1位元組將存放實際字元個數(不包括回車),由系統自動設置;從第2位元組開始存放實際輸入的字串,最後為回車符。 功能:從鍵盤讀入一個字串,存入DS:DX所指的緩衝區。 調用方法示例: buf db 10, ?, 10 dup (?) ; 定義輸入緩衝區 mov ax, seg buf mov ds, ax lea dx, buf mov ah, 0ah int 21h 2023-11-16 5.1.2 字元與字串的輸入/輸出方法 5. 字元與字串的輸入/輸出舉例 DOS系統調用只提供了字元與字串的輸入/輸出方法。如果要輸入/輸出其他類型的數據,如常用的整數,則必須由應用程式來實現與字元之間的轉換。例如,欲輸出整數126,只能以字元(串)的方式輸出1 、 2 、 6 。 對於程式員來說,在需要用戶輸入時給出輸入提示,對輸入數據進行有效性檢查,在輸出結果時說明其表示的含義,是一種好的設計習慣。 2023-11-16 5.2 分支結構 5.2.1 JMP指令的靈活運用 用JMP指令實現轉移的多種方法: 使用標號, 近轉移 使用標號, 遠轉移 以通用寄存器表示目標偏移地址 以內存變數表示目標偏移地址 以內存變數表示目標的32位分段地址 2023-11-16 5.2.2 雙分支結構 雙分支結構相當於高級語言的IF-THEN-ELSE形式。IF-THEN結構只是IF-THEN-ELSE形式的特例,即ELSE部分為空。 通常,使用條件轉移指令Jcc與無條件轉移指令JMP來實現分支。一般必須先安排比較或算術、邏輯運算等影響標誌位的指令,然後用Jcc指令判斷條件,以實現分支轉移。 對應於IF-THEN-ELSE結構的80x86組合語言代碼形如: 為測試條件cc做準備 Jcc ElseCode THEN 程式段 jmp EndOfIF ElseCode: ELSE 程式段 EndOfIF: 注意,程式隱含是順序執行的,在THEN分支體執行後,不會自動跳過ELSE分支體,而是繼續執行其後的代碼。 2023-11-16 5.2.2 雙分支結構 對應於IF-THEN結構的80x86組合語言代碼形如: 為測試條件cc做準備

文档评论(0)

子不语 + 关注
官方认证
服务提供商

平安喜乐网络服务,专业制作各类课件,总结,范文等文档,在能力范围内尽量做到有求必应,感谢

认证主体菏泽喜乐网络科技有限公司
IP属地山东
统一社会信用代码/组织机构代码
91371726MA7HJ4DL48

1亿VIP精品文档

相关文档