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

正文內(nèi)容

ibm-pc匯編語言程序設計-展示頁

2025-07-24 22:48本頁面
  

【正文】 有符號數(shù) 1 + 10 119 127 無效 2 IBMPC 硬件 Assembly Language Programming 處理器 ? 8x86各種處理器的速度,尋址空間,寄存器以及總線數(shù)據(jù)寬度不同。IBMPC 匯編語言程序設計 Assembly Language Programming 什么是匯編語言? ? 機器特定的編程語言 ? 該語言的語句和機器內(nèi)在語言是一一對應的關(guān)系 ? 該語言和機器的指令集、系統(tǒng)結(jié)構(gòu)相匹配 ? 程序設計的級別 ? 機器語言 ? 匯編語言 ? 高級語言 ? IBMPC 匯編語言 ? 針對 8086, 8088, 80186, 80286, 80386, 80486, and Pentium Processors 什么是匯編器? ?系統(tǒng)級別的程序 ? 負責將匯編語言編寫的源代碼翻譯成機器語言 ? 一般由軟件開發(fā)商提供,例如我們所使用的Microsoft 的 MASM ? 源文件 ? 目標文件 ? 可執(zhí)行文件 為什么要學習匯編語言? ? 能夠?qū)W習到處理器是如何工作的 ? 理解計算機的基本系統(tǒng)結(jié)構(gòu) ? 探究數(shù)據(jù)和指令的內(nèi)部表述 ? 能夠創(chuàng)建小巧有效的程序 ? 允許程序員繞過高層語言的限制編程 ? 有些工作必須用匯編語言完成 機器語言 ?數(shù)字表示的機器執(zhí)行的指令集合,被稱為處理器指令集 ? 處理器能夠執(zhí)行的基本指令的集合 ?每個指令被編碼成為數(shù)字符號 ?指令可能占用一個或者多個字節(jié) ?每個數(shù)字代表一個機器指令 IBMPC機器指令舉例 ? 1011000000000101b or B005h ?操作碼 = 10110000b ? 含義:拷貝一個字節(jié)數(shù)據(jù)到 AL寄存器中 ?字節(jié)數(shù)據(jù)由該指令的第二部分代表 : 00000101b 匯編語言 vs機器語言編程 ?機器語言編程 ? 編寫一系列的數(shù)字符號表示程序執(zhí)行所需的指令和數(shù)據(jù) ?匯編語言編程 ? 采用符號指令表示,將翻譯成機器語言程序和數(shù)據(jù)常量 第 1部分 軟硬件基礎知識 Assembly Language Programming 1 數(shù)據(jù)表示 Assembly Language Programming 二進制數(shù)字 ? 1101101b ? 數(shù)位從左到右依次排列 b6b5b4b3b2b1b0 ? 下標表示位值( place value ) ?bi ? 2i ?需要熟記各個位值 ? 轉(zhuǎn)換到十進制數(shù)的多項式 ?b6*26 + b5*25 +b4*24 +b3*23 +b2*22 +b1*21 + b0*20 ? In this case, 1101101b is 64+32+8+4+1 = 109d 十進制到二進制的轉(zhuǎn)換 ? 109d 轉(zhuǎn)換到二進制-循環(huán)被 2除 ? 余數(shù)作為數(shù)位值 ? 直到 0為止 ? 將余數(shù)組合起來 ? 第一位余數(shù)作為二進制數(shù)的最低位 ? 109d = 1101101b 109 / 2 = 54 r 1 54 / 2 = 27 r 0 27 / 2 = 13 r 1 13 / 2 = 6 r 1 6 / 2 = 3 r 0 3 / 2 = 1 r 1 1 / 2 = 0 r 1 十六進制數(shù) ? 0~9, A, B, C, D, E, F ?注意: ? 數(shù)字以 H結(jié)尾 ?大家思考: ? 為何引入十六進制數(shù)? 二進制和十六進制 ? Binary ? Hex ? 4位一組劃分 (從最低位開始 ) ? 最后一組不足 4位補 0 ? 每組對應的數(shù)據(jù)轉(zhuǎn)換成對應的數(shù)字 ? Hex ? Binary ? 相反的方法每個數(shù)字展成 4 bits ?可以忽略前面的若干的 0 0100 1110b = 4Eh 37h = 0011 0111b 二進制數(shù)據(jù)存儲 ?存儲數(shù)據(jù)的大小定義,通常 ? 字節(jié) byte DB ? 字 word DW ? 雙字 double word DD ? 四字 quad word DQ ?存儲器中的每個字節(jié)都有唯一的地址 基本加法 ? Easy !! ? 例如 : c c c c 10101 + 1111 100100 ? Hex Example: c c 3CF02 +435C9 804CB 0+0 = 0 0+1 = 1 1+0 = 1 1+1 = 10 1+1+1 = 11 Watch Carries 基本減法 ? Hex example: b b FCF02 435C9 B9939 b b b b b 1101000011 1101001 1011011010 A borrow adds sixteen 字符數(shù)據(jù) ASCII ? American Standard Code for Information Interchange (ASCII) ? 7bit 二進制碼表示的 128個字符 ? 通常占用 1字節(jié) ?包括一些控制字符 ? ASCII碼的序列稱為 ASCII字符串 ?注:數(shù)字字符‘ 1‘~‘ 9‘的 ASCII碼值:30~39 ?大家思考: ? 如何將 ASCII碼值和對應的數(shù)字相轉(zhuǎn)換? 有符號數(shù)和無符號數(shù) ? 無符號數(shù):所有位均為數(shù)據(jù)位 ? 有符號數(shù):最左邊的位為符號位 ? 例如: 1111 1101 無符號數(shù) 252,而有符號數(shù)為 7 格式 字節(jié) 字 雙字 Max無符號數(shù) 255 / 28- 1 2161 2321 Max有符號數(shù) 127 / 271 2151 2311 理解 Two‘s Complement Code 補碼的定義: [X]補 = (M + X) mod M 其中: M= 2n ? 正數(shù)的編碼 ?無符號正數(shù)表示 ? 負數(shù)的編碼 ?其值加上256后對應的正數(shù)編碼 Code for +107 107d = 1101011b code: 01101011 (6Bh) Code for 107 107 + 256 = 149 149d = 10010101b code: 10010101b (95h) 大家計算 6Bh + 95h = ? 二進制補碼轉(zhuǎn)換 ? c 和 c 的二進制補碼加和的值等于 2的冪 ? 8bit code: c+(c)=28 ? 16bit code: c+(c)=216 ? (c) = 2nc = [(2n1)c]+1 ? 求補碼的方法 1: (c) = 2nc ? 求補碼的方法 2: ? 翻轉(zhuǎn)所有的位 ? 加 1 解碼二進制補碼舉例 0001,0110,1011,1000b ? 以 0開頭表示正數(shù) ? 簡單地轉(zhuǎn)換成十進制數(shù) 1110,1001,0100,1000b ? 以 1開頭表示負數(shù) ? 應用轉(zhuǎn)換規(guī)則 ? 轉(zhuǎn)換成十進制數(shù) 0001,0110,1011,1000b 不要忘記負號! 補碼的加減運算 ?加法運算 1111,0000,1101 + 0111,0110,1001 0110,0111,0110 結(jié)果為正數(shù) ? 減法運算 F23C F23C 2CF0 + D310 ? C54C 結(jié)果為負數(shù) 請大家動手轉(zhuǎn)換成十進制運算,檢驗結(jié)果 Wait…….. 檢驗 Binary Dec 1111,0000,1101 243 +0111,0110,1001 +1897 0110,0111,0110 1654 負數(shù)解碼 1111,0000,1101 ?(0000,1111,0011) ?243 Hex Decimal F23C (3524) 2CF0 11504 C54C 15028 對 F23C解碼 : 1111,0010,0011,1100 ?(0000,1101,1100,0100) ?3524 算術(shù)進位 ? 算術(shù)進位 ? 進位 CF的設置,由符號位的運算進位 0或 1產(chǎn)生的。對于無符號數(shù),產(chǎn)生了數(shù)據(jù)位的進位而無效。 ? 8086 ? 16bits registers, 1MB 內(nèi)存空間,總線 8位 ? 8088 ? 16位數(shù)據(jù)總線 ? 80386 ? 32位寄存器, 32位總線,尋址 4GB ? Pentium ? 32位寄存器, 64位數(shù)據(jù)總線 Intel 8086處理器的結(jié)構(gòu) 8086 寄存器 ?寄存器 – 處理器中臨時存儲數(shù)據(jù)的地方 ? 數(shù)據(jù)寄存器 (16bit) ?AX, BX, CX, DX ? 地址寄存器 (16bit) ?段寄存器 : CS, SS, DS, ES ?指針寄存器 : SP, BP, IP ?變址寄存器 : SI, DI ? 狀態(tài)寄存器 flag (16bit) 通用數(shù)據(jù)寄存器 ? 都是用來保存數(shù)據(jù)的,因此稱為通用寄存器 ? 但各有用途 ? AX : 累加 ? BX : 基址 ? CX : 計數(shù) ? DX : 數(shù)據(jù) ? 各個寄存器的對應高低字節(jié)可單獨使用 ? AH, AL, BH, etc. AX BX CX DX AH AL BH BL CH CL DH DL 高 8位 低 8位 內(nèi)存組織 ? 8086尋址范圍 1MB (220 bytes) ? 每個字節(jié)的地址從 00000h 到 FFFFFh編碼,并且編址是唯一確定的 注意:由于各個寄存器為 16位,而 20位的地址的尋址通過 16位的寄存器完成。 ? 有些原因是正常的,例如鍵盤輸入請求; ? 有些是非法的,例如除數(shù)為 0的操作。 開始 ?可自成一行,也可在指令之后的同一行里 ?例如 ADD AX,BX 。主要類型: ? 指令 ? 如 MOV, ADD等計算機可執(zhí)行的操作 ? 偽操作 ? 如 END, SEGMENT,為編譯程序提供信息的語句 ? 操作符 ? 如 FAR, SIZE,在表達式中使用 ? 預定義符號 ? 如 data, model等,在編譯期間向程序返回信息 標識符 1 ?用戶定義的符號名稱,包括兩類: ? 數(shù)據(jù)項的名稱:表示數(shù)據(jù)項的地址 ?如 COUNTER DB 0 ? 標號:表示指令、過程或者段的地址 ? MAIN PROC FAR ?B30: ADD BL, 25 標識符 2 ? 定義規(guī)則 ? 第一個字符必須是字母或者不為的特殊字符 ? 長度限定在 1- 31之間 ? 不能和保留字相沖突 ? 不區(qū)分大小寫 ? 例如 ? 合法: ?TATAL, QTY25, $P80 ? 非法: ?5P, .TY 字母: A~Z和 a~z 數(shù)字: 0~9 特殊: ? _ . $ 語句 ?語句包括兩類: ? 指令 ——具有對應的機器碼 ?例如: ADD, MOV ? 偽指令 ——只在程序匯編過程起作用,產(chǎn)生機器不可執(zhí)行的代碼 ?例如: ?定義數(shù)據(jù)項 DB, DW 指令 ?指令 ??機器指令 ?操作 operation是必有的,規(guī)定該指令的動作 ?操作數(shù) operand是可選的,并且數(shù)量不定 ?例如: 標識符 操作 操作數(shù) 偽指令 : COUNT DB 1 指令: MOV AX, 0 [標示名稱 ] 操作 [操作數(shù) 1~n] [。注釋 ] PAGE和 TITLE ?程序的開頭, PAGE定義程序打印時一頁的最大行數(shù)和每行最大字符數(shù)。 ?通常段為小邊界,參數(shù)為 PARA。 ? ENDP指明過程的結(jié)束,過程的結(jié)束在代碼段內(nèi),即ENDS之前完成。 END ? ENDS段結(jié)束 ? ENDP過程結(jié)束 ?
點擊復制文檔內(nèi)容
化學相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1