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

正文內(nèi)容

匯編語言程序設(shè)計報告-閱讀頁

2025-02-24 06:22本頁面
  

【正文】 _name 。查找 call printline jmp searchloop exit: ret main endp 。輸入名字 mov dl,0ah mov ah,02h int 21h 。bx 高位置 0 mov bl,actnlen 。計算剩下的長度 i1: mov _name[bx],20h inc bx loop i1 。********************************************************* stor_name proc near inc count 。把 si指向剛才輸入名字的位置 mov cx,10 。把 si所指名字賦值給 di 所指地方 tel_tab ret stor_name endp 。把電話號碼存入 phonrpar mov ah,02h mov dl,0ah 。計算剩下的長度 s2: mov phone[bx],20h 。再把名字放入之后 di 就已經(jīng)移動到名字之后了 mov cx,4 。***************************************************************** name_sort proc near sub di,56 mov endaddr,di n1: mov swapped,0 lea si,tel_tab n2: mov cx,20 mov di,si add di,28 。比較 20 次 jbe n3 。***************************************************** npxchg proc near mov cx,14 。move lower item to save mov cx,14 mov di,bx rep movsw mov cx,14 lea si,temp rep movsw mov swapped,1 ret npxchg endp 。********************************************* name_search proc near lea si,tel_tab mov bx,si add endaddr,28 e1: lea di,_name 。相等 add bx,28 。******************************************************* printline proc near cmp cx,1 je norecord mov ah,09h lea dx,mess5 int 21h 。輸出名字和電話號碼 ret norecord: mov ah,09h lea dx,mess6 int 21h 。************************************************************ codeseg ends end start 六、實驗結(jié)果 七、實驗心得 本次查找電話號碼實驗內(nèi)容與我們現(xiàn)實生活更貼切,也更有實用性,設(shè)計起來雖然繁瑣,但由于分成各個模塊所以編起來層次分明,邏輯清晰。 具體到本次試驗,實驗中最費力的地方便是電話簿排序的實現(xiàn),最后我參照書中的冒泡排序及不斷調(diào)試,終于編寫成功。 實驗五 屏幕窗口程序 一. 實驗要求 光標(biāo)首先定位在右窗口最下面一行的行首( 15, 50),如果從鍵盤輸入字符,則顯示在右窗口,同時也顯示在下窗口的最下面一行。當(dāng)一行字符顯示滿后,窗口自動向上卷動一行,輸入字 符繼續(xù)顯示于最低一行,窗口最高一行向上卷動后消失。 ( 1)光標(biāo)首先定位在右窗口最下面一行的行首( 15, 50); ( 2)如果從鍵盤輸入字符,則顯示在右窗口,同時也顯示在下窗口的最下面一行; ( 3)若需要將字符顯示于左窗口,則先按下←鍵,接著再從鍵盤輸入字符,字符就會從左窗口的最下行開始顯示,同時下窗口也顯示左窗口的內(nèi)容。 ( 5)當(dāng)一行字符顯示滿(左右窗口一行顯示 20個字符,下窗口一行顯示 50個字符)后,窗口自動向上卷動一行,輸入字符繼續(xù)顯示于最低一行,窗口最高一行向上卷動后消失。 在窗口中每顯示一個字符,都要修改光標(biāo)的列變量,同時判斷是否超出本窗口的邊界,如果沒有超出可續(xù)接收并顯示字符,如已經(jīng)超出邊界,則需上 卷一行同時把光標(biāo)重新定位在本窗口底行的行首。記錄左窗口當(dāng)前光標(biāo)位置,初始化為左窗口初始位置 ly db 10 rx db 15 。記錄下窗口當(dāng)前光標(biāo)位置,初始化為下窗口初始位置 dwy db 15 ulrow db 0 ulcol db 0 lrrow db 0 lrcol db 0 windownum db 1 datas ends clear macro a,b,c,d 。初始化窗口 mov ch,a 。左上角列號 mov dh,c 。右下角列號 mov bh,7 。BIOS 調(diào)用,屏幕初始化 endm scroll macro cont,ulrow,ulcol,lrrow,lrcol。上卷行數(shù) mov ch,ulrow 。左上角列號 mov dh,lrrow 。右下角列號 mov bh,70h 。BIOS 調(diào)用,上卷 endm postc macro y,x 。行 mov dl,y 。頁號 int 10h 。輸入鍵盤上的字符 mov ah,0 int 16h 。判斷輸入字符是否為左向鍵 jnz no_left postc ly,lx mov windownum,2 jmp input no_left: cmp ah,4dh jnz no_right 。判斷輸入字符是否為 ESC jz exit 。在下窗口輸出 mov cx,1 int 10h inc dwy 。判斷是否在右窗口 cmp windownum,1 jnz displeft dispright: 。光標(biāo)右移一位 postc ry,rx jmp input displeft: 。光標(biāo)右移一位 postc ly,lx jmp input exit: mov ah,4ch int 21h codes ends 四、 實驗心得 本次實驗開始對屏幕窗口進行簡單編程,很有實用價值。 具體試驗中,上卷、清屏、光標(biāo)定位都是很陌生的,但是經(jīng)過簡單了解發(fā)現(xiàn)也并不難,經(jīng) 過不斷調(diào)試,終于對窗口顯示有了一定認(rèn)識。 實驗六 擴充鍵盤處理功能的程序 一. 設(shè)計要求 掌握中斷的概念以及中斷服務(wù)程序的編寫,通過一個鍵盤處理程序,了解系統(tǒng)中鍵盤的處理過程,理解鍵盤的工作原理。要求實現(xiàn)左右 SHIFT 任何一個鍵處于按下狀態(tài)時輸入字符為鍵盤的上檔字符或大寫字母,否則輸出數(shù)字或小寫字母。 PB 端口的第 7位置 1時,發(fā)送應(yīng)答信號給鍵盤微處理機。 將鍵入的字符輸入到緩沖隊列,循環(huán)狀態(tài)為空( bufpt1=bufpt2) 。 步驟:本次實驗要求在示例 的基礎(chǔ)上,添加功能,關(guān)于 left_shift 和right_shift 可以通過它們各自的掃描碼進行判斷,此外還應(yīng)該設(shè)置標(biāo)志變量便于程序的判斷,較示例的程序除了要添加判斷是否為 shift 鍵外,還應(yīng)該再設(shè)置一張 shifttab 轉(zhuǎn)換表,這樣當(dāng) shift 被按下時,應(yīng)由這樣轉(zhuǎn)換表進行轉(zhuǎn)換,而其他情況下由, scantab 轉(zhuǎn)換表轉(zhuǎn)換。 三、程序主要部分流程圖 四.實驗關(guān)鍵代碼 kbint proc far push bx push ax in al,60h push ax in al,61h or al,80h out 61h,al and al,7fh out 61h,al pop ax test al,80h jnz kbint5 cmp al,42 jz left_shif cmp al,54 jz right_shif test kbflag,03h 。原程序 start,保存,設(shè)置,回復(fù)鍵盤中斷向量,設(shè)置中斷向量屏蔽為并開中斷。子程序 kbget 檢測并等待鍵盤中斷,如果有輸入,就從緩沖隊列中取出字符進行隊列管理。子程序 dispchar 是顯示功能。 我這次的實驗工作主要在 kbint 中實現(xiàn),設(shè)置標(biāo)志判斷是否按下 shift 鍵,以及按下松開 shift 鍵可對標(biāo)志進行修改,接著類似原程序顯示小寫字母,改為按下 shift 鍵,顯示大寫字母,實現(xiàn)并不困難。
點擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1