




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、文檔供參考,可復(fù)制、編制,期待您的好評與關(guān)注! 匯編語言程序設(shè)計練習(xí)題一、字符與串處理類 1.逆序輸出字符串“BASED ADDRESSING”。 2.試編寫一段程序,要求對鍵盤輸入的小寫字母用大寫字母顯示出來。 3.編寫程序,從鍵盤接收一個小寫字母,然后找出它的前導(dǎo)字符和后續(xù)字符,再按順序顯示這三個字符。 4.從鍵盤上輸入一系列以$為結(jié)束符的字符串,然后對其中的非數(shù)字字符計數(shù),并顯示計數(shù)結(jié)果。 5.從鍵盤上輸入一串字符(用回車鍵結(jié)束,使用0A號功能調(diào)用。)放在STRING中,試編制一個程序測試字符串中是否存在數(shù)字。如有,則把CL的第5位置1,否則將該位置置0。 6.從鍵盤上輸入一串字符(用回
2、車鍵結(jié)束,使用0A號功能調(diào)用。),將其中的小寫英文字母變換為大寫英文字母,其他字符保持不變。然后將變換后的字符串顯示出來。 7.試編制一個程序:從鍵盤輸入一行字符,要求第一個鍵入的字符必須是空格符,如不是,則退出程序;如是,則開始接收鍵入的字符并順序存放在首地址為buffer的緩沖區(qū)中(空格符不存入),直到接收到第二個空格符時退出程序。 8.試編寫一段程序,要求比較兩個字符串string1和string2所含字符是否相等,如相等則顯示“MATCH”, 若不相同則顯示“NO MATCH”。 9.試編寫一段程序,要求輸入兩個字符串,如兩個字符串相等則顯示“MATCH”, 否則顯示“NO MATCH
3、”。 10.試編寫一段程序,要求在長度為100H字節(jié)的數(shù)組中,找出大于61H的無符號數(shù)的個數(shù)并存入字節(jié)單元UP中,找出小于2FH的無符號數(shù)的個數(shù)并存入字節(jié)單元DOWN中。 11.在內(nèi)存區(qū)域0B800:0000-0B800:0FFFF(都是16進(jìn)制數(shù))內(nèi)查找首地址為SOURCE的串(SOURCE的首字節(jié)為串長度),如果找到,則把AL的第0位置0,否則將該位置置1。 12.已知數(shù)組A包含15個互不相等的整數(shù),數(shù)組B包含20個互不相等的整數(shù)。試編制一個程序,把既在A中又在B中出現(xiàn)的整數(shù)存放于數(shù)組C中。 13.在附加段中,有一個首地址為LIST和未經(jīng)排序的字?jǐn)?shù)組。在數(shù)組的第一個字中,存放著該數(shù)組的長度
4、,數(shù)組的首地址已存放在DI寄存器中,AX寄存器中存放著一個數(shù)。要求編制一個程序:在數(shù)組中查找該數(shù),如果找到此數(shù),則把它從數(shù)組中刪除。二、數(shù)字輸入輸出類 1. 試編制一個程序,把BX寄存器內(nèi)的二進(jìn)制數(shù)以十六進(jìn)制數(shù)的形式在屏幕上顯示出來。 2. 試編制一個程序,把BX寄存器內(nèi)的二進(jìn)制數(shù)以八進(jìn)制數(shù)的形式在屏幕上顯示出來。 3. 試編制一個程序,把BX寄存器內(nèi)的二進(jìn)制數(shù)以十進(jìn)制數(shù)的形式在屏幕上顯示出來。 4.從鍵盤上輸入2個一位數(shù),求出它們的和(假設(shè)和不超過1位)。 5.試編寫一段程序,從鍵盤接收一個四位的十六進(jìn)制數(shù),并在終端上顯示與它等值的二進(jìn)制數(shù)。 6.試編寫一段程序,從鍵盤接收一個0-65535
5、間的十進(jìn)制無符號數(shù),并在終端上顯示與它等值的二進(jìn)制數(shù)。 7.試編寫一段程序,從鍵盤接收一個-32768-32767間的十進(jìn)制有符號數(shù),并在終端上顯示與它等值的二進(jìn)制數(shù)。 8.編寫一個程序,從鍵盤輸入一個065535之間的10進(jìn)制無符號數(shù),然后以16進(jìn)制和四進(jìn)制數(shù)形式顯示出所輸入的數(shù)。 9.編寫一個程序,從鍵盤輸入一個不長于8位的四進(jìn)制數(shù),并將所輸入的數(shù)以10進(jìn)制數(shù)形式顯示出來。 10.從鍵盤上接收一個有符號的十進(jìn)制數(shù),然后在下一行用十進(jìn)制輸出此有符號數(shù)。三、數(shù)值處理類 1.編寫程序,將一個包含有20個數(shù)據(jù)的數(shù)組M分成2個數(shù)組:正數(shù)數(shù)組P和負(fù)數(shù)數(shù)組N,并分別把這兩個數(shù)組中數(shù)據(jù)的個數(shù)顯示出來。 2
6、.試編寫一個程序,求出首地址為DATA的100D字?jǐn)?shù)組中的最小偶數(shù),并把它存放在AX中。 3.有一個首地址為mem的100個字的數(shù)組,試編制程序刪除數(shù)組中所有為零的項,并將后續(xù)項向前壓縮,最后將數(shù)組的剩余部分補(bǔ)上零。 4.設(shè)在A、B和C單元中分別存放著3個數(shù)。若3個數(shù)都不是0,則求出三個數(shù)的和并存放在S單元中;若其中有一個數(shù)為0,則把其他兩個單元也清零。請編寫此程序。 5.試編寫一個程序,要求比較數(shù)組ARRAY中的三個16位補(bǔ)碼數(shù),并根據(jù)比較結(jié)果在終端上顯示如下信息: 如果三個數(shù)都不相等則顯示0; 如果三個數(shù)有兩個相等則顯示1; 如果三個數(shù)都相等則顯示2。 6.從鍵盤輸入一系列字符(以回車符結(jié)
7、束),并按字母、數(shù)字及其他字符分類計數(shù),最后顯示這三類的計數(shù)結(jié)果。 7.已定義了兩個整數(shù)變量A和B,試編寫程序完成下列功能: 若兩個數(shù)種有一個是奇數(shù),則將奇數(shù)存入A中,偶數(shù)存入B中; 若兩個數(shù)均為奇數(shù),則將兩數(shù)均加1后存回原變量; 若兩個數(shù)均為偶數(shù),則兩個變量均不改變。 8.在首地址為DATA的字?jǐn)?shù)組中,存放了100H個16位無符號數(shù),試編寫一個程序,求出它們的平均值放在AX寄存器中;并求出數(shù)組中有多少個數(shù)小于此平均值,將結(jié)果放在BX寄存器中。(注意,分別考慮這些數(shù)據(jù)的累加和始終在0-65535之間和超出65535的情況) 9.已知在首地址為DATA的字?jǐn)?shù)組中存放一系列有符號數(shù)(首元素為數(shù)據(jù)個
8、數(shù)),試編寫一個程序求出它們的平均值放在變量AVER中,并求出數(shù)組中有多少個數(shù)大于該平均值,將大于平均值的元素個數(shù)保存在變量COUNT中。(注意,分別考慮這些數(shù)據(jù)的累加和始終在-32768-32767之間和超出-32768-32767之外)。 10.編寫一個程序,將一個包含有30個字?jǐn)?shù)據(jù)的數(shù)組M分成兩個數(shù)組:奇數(shù)數(shù)組ODD和偶數(shù)數(shù)組EVEN,并把這兩個數(shù)組中元素的個數(shù)以二進(jìn)制形式顯示出來(不能使用DIV/IDIV指令)。 11.在附加段中,有一個按從小到大的順序排列的無符號數(shù)數(shù)組,其首地址存放在DI寄存器中,數(shù)組中的第一個單元存放著數(shù)組長度。在AX中有一個無符號數(shù),要求在數(shù)組中查找(AX),如
9、找到,則使CF=0,并在SI中給出該元素在數(shù)組中的偏移地址;如未找到,則使CF=1。 12. 在附加段中有一個字?jǐn)?shù)組,其首地址已存放在DI寄存器中,在數(shù)組的第一個字中存放著該數(shù)組的長度。要求編制一個程序使該數(shù)組中的數(shù)按照從小到大的次序排列整齊。(分別使用起泡排序算法、選擇排序算法、插入排序算法)。 13.在ADDR單元中存放著數(shù)Y的地址,試編制一個程序把Y中1的個數(shù)存入COUNT單元中。49. 編寫一個程序,計算 1 + 2 + 3 + 4 + + N的累加和,并把累加和與10進(jìn)制形式顯示出來。(不能使用公式計算“累加和=N×(N+1)/2”,必須使用程序?qū)崿F(xiàn)循環(huán)累加來計算)。 四、
10、I/O與文件類 1.CMOS RAM是微機(jī)主板上的一塊可讀寫的RAM芯片,用來保存當(dāng)前系統(tǒng)的硬件配置和用戶對某些參數(shù)的設(shè)定。CMOS可由主板的電池供電,即使系統(tǒng)掉電,信息也不會丟失。 CMOS RAM本身只是一塊存儲器,只有數(shù)據(jù)保存功能,而對CMOS中各項參數(shù)的設(shè)定要通過專門的程序。開機(jī)時可以通過按某個鍵鍵入CMOS參數(shù)設(shè)置。我們可以通過端口70H/71H訪問CMOS RAM。 70H為地址端口,存放要訪問的CMOS RAM單元的地址; 71H為數(shù)據(jù)端口,存放從選定的單元中讀取的數(shù)據(jù),或要寫入到其中的數(shù)據(jù)。讀寫CMOS RAM前,要判斷端口0AH的位7,該位位1時表示石時鐘正在計時,需等待該位
11、為0時才能讀寫。下面是CMOS RAM的部分單元存儲數(shù)據(jù)的含義(BCD碼)。 字節(jié)位移量 存放數(shù)據(jù)意義00h01h02h03h04h05h06h07h08h09h目前系統(tǒng)時間的“秒數(shù)”字段預(yù)約警鈴時間的“秒數(shù)”字段目前系統(tǒng)時間的“分鐘”字段預(yù)約警鈴時間的“分鐘”字段目前系統(tǒng)時間的“小時”字段預(yù)約警鈴時間的“小時”字段星期幾(星期一01,星期二02,依次類推)目前系統(tǒng)日期字段(031)目前系統(tǒng)月份字段(012)系統(tǒng)公元紀(jì)年的后兩位(0099;002000,012001,以此類推) 試編寫一個程序,實現(xiàn)當(dāng)前日期、時間。 2.某個計算機(jī)的打印機(jī)適配器有3個8位的端口(寄存器),其數(shù)據(jù)寄存器地址是37
12、8H,狀態(tài)寄存器地址是379H,控制寄存器地址是37AH。這些寄存器主要位的含義是: 控制寄存器。CPU控制打印機(jī)工作 位0:選通信號。正常工作室該位為0,當(dāng)已將數(shù)據(jù)發(fā)送到數(shù)據(jù)寄存器后,應(yīng)將該位置為1,以通知打印機(jī)從數(shù)據(jù)寄存器取出數(shù)據(jù)。置1后需要馬上置0。 位1:自動換行。置1后,打印機(jī)每遇到回車就自動走紙1行;置0后,需要向打印機(jī)送出換行符控制走紙。 位2:初始化。 位3:聯(lián)機(jī)。置1將設(shè)置打印機(jī)的聯(lián)機(jī)方式,只有在1方式下打印機(jī)才能正常工作。 其它位,暫不用。 狀態(tài)寄存器。適配器向CPU報告打印機(jī)的狀態(tài) 位3:0=打印機(jī)出錯;1=打印機(jī)可用。 位4:0=打印機(jī)脫機(jī);1=打印機(jī)聯(lián)機(jī)。 位5:0=
13、打印機(jī)有紙;1=打印機(jī)無紙。 位7:0=打印機(jī)忙;1=打印機(jī)空閑。 其它位,暫不用。 試編一個程序,將內(nèi)存STRING為首地址的字符串在打印機(jī)上打印出來(字符串以ASCII 0為結(jié)束標(biāo)志)。 3.某計算機(jī)端口地址600H的是8位寄存器,其位06分別控制數(shù)碼管顯示中各段D0D6的亮(1)和滅(0),七段數(shù)碼管的各段編號為: D0D1D5 D6D2D4 D3試編寫一個過程,將AL保存的一位10進(jìn)制數(shù)以數(shù)碼管顯示出來(如AL的值為3,則D0、D1、D2、D3、D6亮,D4、D5滅)。 4.編寫一個程序,新建一個文件:d:abc.txt,從鍵盤輸入文件的內(nèi)容(不超過100個字符)。然后新建一個文件:d
14、:def.txt,將d:abc.txt文件的內(nèi)容復(fù)制到d:def.txt。 5.在D盤根目錄建立一個文件abc.txt,第1次向文件中寫入“123456”六個字符,第2次增加“abcdefg”幾個字符。 6.從鍵盤上輸入文本文件:”d:temp1.txt”的內(nèi)容,然后新建一個文件d:temp2.txt, 把文件d:temp1.txt中的所有內(nèi)容復(fù)制到文件:temp2.ini中。 7.將內(nèi)存單元0A00H:0000開始的32KB內(nèi)存保存到文件A32K.BIN中。 8.從鍵盤上輸入10個人名,然后把它們按照升序的順序排序。五、子程序類 1.寫一段子程序SKIPLINES,完成輸出空行的功能??招械?/p>
15、行數(shù)由用戶在主程序中通過鍵盤輸入,并將行數(shù)放在AX寄存器中。 2.設(shè)有10個學(xué)生的成績分別是76,69,84,90,73,88,99,63,100和80分。試編制一個子程序統(tǒng)計60-69分,70-79分,80-89分,90-99分和100分的人數(shù),并分別放到S6,S7,S8,S9和S10單元中。3.編寫子程序嵌套結(jié)構(gòu)的程序,把整數(shù)分別用二進(jìn)制和八進(jìn)制形式顯示出來。 4.主程序BANDO:把整數(shù)字變量VAL1存入堆棧,并調(diào)用子程序PAIRS;子程序PAIRS:從堆棧中取出VAL1,調(diào)用二進(jìn)制顯示程序OUTBIN顯示出與其等效的二進(jìn)制數(shù),輸出8個空格;調(diào)用八進(jìn)制顯示程序OUTOCT顯示出與其等效的
16、八進(jìn)制數(shù),調(diào)用輸出回車及換行符的子程序。 5.主程序MAIN和過程PROADD在同一源文件中,要求分別使用變量名、地址表、堆棧傳送參數(shù)的方法,用過程PROADD累加數(shù)組中的所有元素,并把和(不考慮溢出的可能性)送到指定的存儲單元SUM中去。 6.從鍵盤上取得一個十進(jìn)制數(shù),然后把該數(shù)用十六進(jìn)制的形式顯示出來。要求子程序用寄存器參數(shù)傳送的方法。 7.使用跳躍表法,根據(jù)AL寄存器中哪一位位1(從低位到高位)把程序轉(zhuǎn)移到8個不同的子程序分支去。子程序0-7分別顯示數(shù)字0-7。 7.在數(shù)據(jù)區(qū)中有10個不同的信息,編號為0-9,每個信息包括30個字符?,F(xiàn)在要求編制一個程序:從鍵盤上接收0-9之間的一個編號
17、,然后在屏幕上顯示出相應(yīng)的信息內(nèi)容。六、綜合類 1.根據(jù)歐幾里德輾轉(zhuǎn)相除法求兩個正整數(shù)M、N的最大公約數(shù)R。 2.簡化的歌德巴赫猜想:任何一個大于6的偶數(shù)均可以表示為兩個素數(shù)之和?,F(xiàn)從鍵盤輸入一個065535之間的無符號整數(shù),試驗證歌德巴赫猜想。 如輸入數(shù)12,輸出: 12=5+7 如輸入數(shù)20,輸出: 20=3+17 20=7+13 如輸入數(shù)7,輸出: Must be even 如輸入數(shù)3,輸出: Must be greater than or equal to 6 3.用減奇數(shù)次數(shù)的方法,求一個數(shù)的近似平方根,這個平方根是一個整數(shù)。如求17的平方根,可以用17相繼減去奇數(shù)1、3、5、7、,
18、當(dāng)結(jié)果為負(fù)數(shù)時停止,即: 17-1-3-5-7-90可以看出,17在減去5次奇數(shù)后結(jié)果變?yōu)樨?fù)數(shù),可以近似認(rèn)為17的平方根在4與5之間,計算NUM的平方根,如果NUM=17,則ANS中保存結(jié)果4。 4.以下面形式定義一個長整數(shù),其所占用字節(jié)數(shù)由N得到,比如128位的數(shù)5746352413DE89674523BC9A78563412H定義成: NUM DB 12H,34H,56H,78H,9AH,0BCH,23H,45H DB 67H,89H,0DEH,13H,24H,35H,46H,57H N DB $-NUM試編寫一個程序,實現(xiàn)對N字節(jié)的NUM的值求補(bǔ),并把求補(bǔ)后的值仍保存在NUM中。 5.根據(jù)中華人民共和國國家標(biāo)準(zhǔn)GB 11643-1999中有關(guān)公民身份號碼的規(guī)定,公民身份號碼是特征組合碼,由十七位數(shù)字本體碼和一位數(shù)字校驗碼組成。排列順序從左至右依次為:六位數(shù)字地址碼,八位數(shù)字出生日期碼,三位數(shù)字順序
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司游艇團(tuán)建活動方案
- 高等教育評估師資格考試的相關(guān)試題及答案
- 2025年虛擬現(xiàn)實技術(shù)工程師考試試卷及答案
- 2025年現(xiàn)代農(nóng)業(yè)技術(shù)推廣考試試卷及答案
- 2025年心理咨詢師職業(yè)資格考試試卷及答案
- 2025年食品安全管理體系考試試題及答案
- 2025年生物醫(yī)學(xué)工程技術(shù)考試卷及答案
- 2025年數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)專業(yè)考試題及答案
- 2025年名師課堂與教學(xué)改革實踐能力考核試題及答案
- 2025年護(hù)理心理學(xué)考試題及答案
- 2025-2030中國疏浚工程行業(yè)發(fā)展態(tài)勢與前景規(guī)劃分析報告
- 科室vte管理制度
- 2025年山西萬家寨水務(wù)控股集團(tuán)所屬企業(yè)招聘筆試參考題庫含答案解析
- 2025年中國舒適眼鏡白皮書-艾瑞咨詢-202506
- 中小學(xué)美術(shù)教學(xué)評價構(gòu)建及實施策略
- 2025-2030玉石行業(yè)風(fēng)險投資發(fā)展分析及運作模式與投融資研究報告
- 江蘇省揚州市2024-2025學(xué)年四年級下學(xué)期6月數(shù)學(xué)期末試題一(有答案)
- (2025)發(fā)展對象培訓(xùn)考試題和答案
- 2024年西南醫(yī)科大學(xué)招聘專職輔導(dǎo)員真題
- 建筑施工項目支付流程及管理
- 保育師操作考試題及答案
評論
0/150
提交評論