版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、零基礎(chǔ)入門學(xué)習(xí)匯編語言作者:小甲魚第七章 更靈活的定位內(nèi)存地址的方法沒有目錄的目錄7.1 and和or指令7.2 關(guān)于ASCII碼7.3 以字符形式給出的數(shù)據(jù)7.4 大小寫轉(zhuǎn)換的問題7.5 bx+idata7.6 用bx+idata的方式進(jìn)行數(shù)組的處理7.7 SI和DI7.8 bx+si和bx+di7.9 bx+si+idata和bx+di+idata7.10 不同的尋址方式的靈活應(yīng)用引言前面,我們用0、bx的方法,在訪問內(nèi)存的指令中,定位內(nèi)存單元的地址。 在這一章中,我們主要講解一些更靈活的定位內(nèi)存地址的方法和相關(guān)的編程方法。我們的講解將通過具體的問題來進(jìn)行。7.1 and和or指令首先我們
2、介紹兩條指令and和or,因?yàn)槲覀兿旅娴睦讨幸玫剿鼈?。?)and 指令:邏輯與指令,按位進(jìn)行與運(yùn)算。 如 mov al, 01100011B and al, 00111011B 執(zhí)行后:al = 00100011B and指令的一點(diǎn)功能通過該指令可將操作對象的相應(yīng)位設(shè)為0,其他位不變。例如:將al的第6位設(shè)為0:and al, 10111111B將al的第7位設(shè)為0:and al, 01111111B將al的第0位設(shè)為0:and al, 11111110B7.1 and和or指令(2)or 指令:邏輯或指令,按位進(jìn)行或運(yùn)算。 如 mov al, 01100011B and al, 001
3、11011B 執(zhí)行后:al = 01111011Bor指令的一點(diǎn)功能通過該指令可將操作對象的相應(yīng)位設(shè)為1,其他位不變。例如:將al的第6位設(shè)為1:and al, 01000000B將al的第7位設(shè)為1:and al, 10000000B將al的第0位設(shè)為1:and al, 00000001B7.2 關(guān)于ASCII碼世界上有很多編碼方案,有種方案叫做ASCII編碼,是在計(jì)算機(jī)系統(tǒng)中通常被采用的。簡單地說,所謂編碼方案,就是一套規(guī)則,它約定了用什么樣的信息來表示現(xiàn)實(shí)對象。比如說,在ASCII編碼方案中,用 61H 表示“a”,62H表示“b”。7.2 關(guān)于ASCII碼續(xù)一種規(guī)則需要人們遵守才有意義
4、。 一個文本編輯過程中,就包含著按照ASCII編碼規(guī)則進(jìn)行的編碼和解碼。 在文本編輯過程中,我們按一下鍵盤的a 鍵,就會在屏幕上看到“a”。 這是怎樣一個過程呢?7.3 以字符形式給出的數(shù)據(jù)我們可以在匯編程序中,用 “”的方式指明數(shù)據(jù)是以字符的形式給出的,編譯器將把它們轉(zhuǎn)化為相對應(yīng)的ASCII碼。請看以下程序7.3 以字符形式給出的數(shù)據(jù)assume ds:datadata segment db unIX db foRKdata endscode segment start:mov al,a mov bl,b mov ax,4c00h int 21hcode ends 我們來分析一下end st
5、art 7.3 以字符形式給出的數(shù)據(jù)上面的源程序中:“db unIX ” 相當(dāng)于“db 75H,6EH,49H,58H”, “u”、 “n”、 “I”、 “X”的ASCII碼分別為75H、6EH、49H、58H;“db foRK ” 相當(dāng)于“db 66H,6FH,52H,4BH”, “u”、 “n”、 “I”、 “X”的ASCII碼分別為66H、6FH、52H、4BH;“mov al,a”相當(dāng)于“mov al,61H”,”a”的ASCII碼為61H;“mov al,b”相當(dāng)于“mov al,62H”,”b”的ASCII碼為62H。7.4 大小寫轉(zhuǎn)換的問題首先分析一下,我們知道同一個字母的大寫字
6、符和小寫字符對應(yīng)的 ASCII 碼是不同的,比如 “A” 的 ASCII 碼是41H,“a”的ASCII碼是61H。要改變一個字母的大小寫,實(shí)際上就是要改變它所對應(yīng)的ASCII 碼。 7.4 大小寫轉(zhuǎn)換的問題我們可以將所有的字母的大寫字符和小寫字符所對應(yīng)的ASCII碼列出來,進(jìn)行對比,從中找到規(guī)律。大寫 二進(jìn)制 小寫 二進(jìn)制 A 01000001 a 01100001 B 01000010 b 01100010 C 01000011 c 01100011 D 01000100 d 011001007.4 大小寫轉(zhuǎn)換的問題通過對比,我們可以看出來,小寫字母的ASCII碼值比大寫字母的ASCII碼
7、值大20H 。這樣,我們可以想到,如果將 “a” 的ASCII碼值減去20H,就可以得到“A”;如果將“A”的ASCII碼值加上20H 就可以得到“a”。7.4 大小寫轉(zhuǎn)換的問題按照這樣的方法,我們可以將 datasg段中: 第一個字符串“BaSiC”中的小寫字母變成大寫; 第二個字符串,“iNfOrMaTiOn”中的大寫字母變成小寫。7.4 大小寫轉(zhuǎn)換的問題要注意的是: 對于字符串“BaSic”,我們應(yīng)只對其中的小寫字母所對應(yīng)的ASCII碼進(jìn)行減20H 的處理,將其轉(zhuǎn)為大寫,而對其中的大寫字母不進(jìn)行改變;7.4 大小寫轉(zhuǎn)換的問題另外還要注意的是: 對于字符串 “ iNforMaTIOn ”
8、,我們應(yīng)只對其中的大寫字母所對應(yīng)的ASCII碼進(jìn)行加20H 的處理,將其轉(zhuǎn)為小寫; 而對于其中的小寫字母不進(jìn)行改變,這里面就存在著一個前提,程序必須要能夠判斷一個字母是大寫還是小寫。以“BaSiC”討論,程序的流程將是這樣的:assume cs:codesg,ds:datasgdatasg segmentdb BaSiCdb iNfOrMaTiOndatasg endscodesg segment start: mov ax,datasg mov ds,ax mov bx,0 mov cx,5 s: mov al,bx 如果(al)61H,則為小寫字母ASCII碼,則:sub al,21H mov bx,al inc bx loop s:7.4 大小寫轉(zhuǎn)換的問題判斷將用到一些我們目前還沒有學(xué)習(xí)到的指令。現(xiàn)在面臨的問題是,用己學(xué)的指令來解決這個問題,則我們不能對字母的大小寫進(jìn)行任何判斷。但是,現(xiàn)實(shí)的問題卻要求程序必須要能區(qū)別對待大寫字母和小寫字母。7.4 大小寫轉(zhuǎn)換的問題可以看出,就ASCII碼的二進(jìn)制形式來看,除第5位(位數(shù)從0開始計(jì)算)外,大寫字母和小寫字母的其他各位都一樣。大寫字母ASCII碼的第5位(位數(shù)從0開始計(jì)算)為0,小寫字母的第5位為1。 7.4 大小寫轉(zhuǎn)換的問題這樣
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 強(qiáng)化和創(chuàng)新企業(yè)經(jīng)濟(jì)管理思考
- 消防宣傳領(lǐng)導(dǎo)的講話稿(3篇)
- 服務(wù)員年終總結(jié)
- 模特勞務(wù)合同(5篇)
- 新教材高考地理二輪專題復(fù)習(xí)單元綜合提升練7農(nóng)業(yè)生產(chǎn)與糧食安全含答案
- 江蘇省淮安市清江浦區(qū)2023-2024學(xué)年七年級下學(xué)期期末考試英語試題
- 山東省聊城市2024-2025學(xué)年高一上學(xué)期11月期中考試語文試題
- 2023年高考語文二輪復(fù)習(xí)專練:修辭手法之客觀選擇題專訓(xùn)三(含解析)
- 河北省石家莊市裕華區(qū)多校2024-2025學(xué)年六年級上學(xué)期期中道德與法治試題
- 語文教學(xué)論教案 第五章 閱讀教學(xué)
- 電器設(shè)備安裝安全操作規(guī)程
- 氣液兩相流講稿
- 《中國藥典》2023年版目錄
- 第五章一元一次方程微專題-應(yīng)用題表格類訓(xùn)練 (北師大版數(shù)學(xué)七年級上冊)
- 改革開放簡史智慧樹知到課后章節(jié)答案2023年下北方工業(yè)大學(xué)
- 我的家鄉(xiāng)-黑龍江-英語PPT
- 改革開放史學(xué)習(xí)通超星課后章節(jié)答案期末考試題庫2023年
- 耕地保護(hù)交流發(fā)言【六篇】
- 辦理銀行匯票結(jié)算課件
- 中國文化概論-第11章-中國古代史學(xué)
- 租房合同電子版下載(標(biāo)準(zhǔn)版)
評論
0/150
提交評論