機器語言

上傳人:無*** 文檔編號:20356740 上傳時間:2021-03-11 格式:DOC 頁數(shù):8 大?。?1.50KB
收藏 版權申訴 舉報 下載
機器語言_第1頁
第1頁 / 共8頁
機器語言_第2頁
第2頁 / 共8頁
機器語言_第3頁
第3頁 / 共8頁

下載文檔到電腦,查找使用更方便

12 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《機器語言》由會員分享,可在線閱讀,更多相關《機器語言(8頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、1.1 機器語言 1.2 匯編語言 1.3 存儲器1.4 指令 數(shù)據(jù)1.5 存儲單元 1.6 CPU對存儲器的讀寫AB DB CB1.7 內(nèi)存2.1 通用寄存器:14個寄存器 它們的名稱為: AX、BX、CX、DX、SI、DI、SP、BP、 IP、CS、SS、DS、ES、PSW2.2 物理地址,段地址:偏移地址2.3 CS : IP 2.4 MOV ADD JMP3.1 內(nèi)存中字的存儲,字節(jié)存儲3.2 DS : .2.5 MOV ADD JMP SUB 2.6 DEBUG4.1 編程編譯連接跟蹤運行5 bx loop 段前綴 安全的段空間循環(huán)指令的跟蹤 MOV ADD JMP SUB BX L

2、OOP6 包含多個段的程序 cs:code ds:data ss:sseg es:esegassume cs:codea segmentdb 1,2,3,4,5,6,7,8a endsb segmentdb 1,2,3,4,5,6,7,8b endsc segmentdb 0,0,0,0,0,0,0,0c endscode segment start:mov ax,a mov es,ax mov ax,c mov ds,ax mov bx,0 mov cx,8 s1:mov ax,es:bx add bx,ax add bx,2 loop s1 mov ax,b mov es,ax mov d

3、s,ax mov bx,0 mov cx,8 s2:mov ax,es:bx add bx,ax add bx,2 loop s2 mov ax,4c00h int 21hcode ends end startassume cs:codea segment dw 1,2,3,4,5,6,7,8a endsb segment dw 0,0,0,0,0,0,0,0b endscode segmentstart: mov ax,b mov ss,ax mov sp,10h mov ax,a mov ds,ax mov bx,0 mov cx,8s: push bx add bx,2 loop s m

4、ov ax,4c00h int 21hcode endsend start7 MOV ADD JMP SUB BX LOOP AND OR Asc2碼 字符形式給出的數(shù)據(jù) 大小寫轉(zhuǎn)換 SI, DI, BX以及組合assume cs:codesg,ss:stacksg,ds:datasgstacksg segment dw 0,0,0,0,0,0,0,0stacksg endsdatasg segment db 1. display db 2. brows db 3. replace db 4. modify datasg endscodesg segmentstart: mov ax,stac

5、ksg mov ss,ax mov sp,16 mov ax,datasg mov ds,ax mov bx,0 mov cx,4 s: ;外循環(huán) push cx mov si,3 mov cx,4 s0:;內(nèi)循環(huán) mov al,bx+si and al,11011111b mov bx+si,al inc si loop s0 add bx,16 pop cx loop smov ax,4c00hint 21hcodesg endsend start8 數(shù)據(jù)處理問題,地址 長度 尋址方式綜合運用MOV ADD JMP SUB BX LOOP AND OR DIV DD DW DB DUP W

6、ORD PTR BYTE PTR DIVassume cs:code ds:segseg segmentdb 96 dup(?)db DEC,Ken Oslendw 137,40db PHPseg endscode segmentstart: mov ax,seg mov ds,ax mov bx,60h mov word ptr bx+0ch,38 add word ptr bx+0eh,70 mov si,0 mov byte ptr bx+10h+si,V inc si mov byte ptr bx+10h+si,A inc si mov byte ptr bx+10h+si,Xmov

7、 ax,4c00hint 21hcode endsend start向表格中填數(shù)據(jù),向內(nèi)存中寫數(shù)據(jù)assume cs:codesg,ds:data,es:tabledata segment db 1975,1976,1977,1978,1979,1980,1981,1982,1983 db 1984,1985,1986,1987,1988,1989,1990,1991,1992 db 1993,1994,1995 ;以上是表示21年的21個字符串 dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514 dd 34598

8、0,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000 ;以上是表示21年公司總收的21個dword型數(shù)據(jù) dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226 dw 11542,14430,45257,17800 ;以上是表示21年公司雇員人數(shù)的21個word型數(shù)據(jù)data endstable segment db 21 dup(year summ ne ? )table endscodesg segmentstart: mov ax,d

9、ata mov ds,ax mov ax,table mov es,ax mov bx,0 mov si,0 mov di,0 mov cx,2 s: ;進入循環(huán) mov al,bx mov es:di,al mov al,bx+1 mov es:di+1,al mov al,bx+2 mov es:di+2,al mov al,bx+3 mov es:di+3,al ;以上8句的作用是存放年份 mov ax,54hbx ;第一個年收入的段基址為54H mov dx,56hbx mov es:5hdi,ax mov es:7hdi,dx ;以上4句的作用是存放公司總收入 mov ax,0A8h

10、si ;第一個人數(shù)的段基址為0A8H mov es:0Ahdi,ax ;以上2句是存放公司的人數(shù) mov ax,54hbx div word ptr ds:0A8hsi mov es:0dhdi,ax ;以上3句是存放人均收入 add bx,4 add si,2 add di,16 ;以上3句是為下一次循環(huán)時存放數(shù)據(jù)做準備 ;3個寄存器遞增的速度決定了所要存取的數(shù)據(jù)的位置的偏移地址 loop s ;跳到標號s處mov ax,4c00hint 21hcodesg endsend start9 MOV ADD JMP SUB BX LOOP AND OR DIV DD DW DB DUP WORD

11、 PTR BYTE PTR DIV offset JMP short ptr/nearptr 標號等 JCXZ LOOP奇怪的返回程序assume cs:code code segmentmov ax,4c00hint 21hstart:mov ax,0 s:nopnopmov di,offset smov si,offset s2mov ax,cs:simov cs:di,axs0:jmp short ss1:mov ax,0int 21hmov ax,0s2:jmp short s1nopcode endsend start 向顯示緩沖區(qū)寫數(shù)據(jù)assume cs:code,ds:data,

12、ss:stackdata segment db welcome to masm! db 02h,24h,71h data endsstack segment dw 8 dup(0)stack endscode segmentstart:mov ax,data mov ds,ax mov ax,stack mov ss,ax mov sp,10h mov bx,0 mov di,0;算出屏幕第12行中間的顯存的段起始位置放入ax中 mov ax,0b872 mov cx,3 ;外循環(huán)為3次,因為要顯示三個字符串s3: push cx ;三個進棧操作為外循環(huán)s3保存相關寄存器的值 push ax

13、;以防止它們的值在內(nèi)循環(huán)中被破壞 push di mov es,ax ;此時es為屏幕第12行中間的顯存的段起始位置 mov si,0 mov di,0 mov cx,10h ;內(nèi)循環(huán)為10h次,因為一個字符串中含10h個字節(jié)s1: mov al,ds:bx+si mov es:bx+di,al inc si add di,2 loop s1 ;此循環(huán)實現(xiàn)偶地址中存放字符 mov si,1 ;si的值設為1,從而為在顯存奇地址中存放字符的顏色屬性做準備 pop di ;將di的值恢復成進入內(nèi)循環(huán)之前的時候的值 mov al,ds:10hbx+di ;取顏色屬性源OP尋址方式:相對基址變址 mo

14、v cx,10h ;第二個內(nèi)循環(huán)也為10h次s2: mov es:bx+si,al add si,2 loop s2 ;此循環(huán)實現(xiàn)奇地址中存放字符的顏色屬性 ;以下4句為下一趟外循環(huán)做準備 inc di pop ax add ax,0ah ;將顯存的段起始地址設為當前行的下一行 ;在段地址中加0ah,相當于在偏移地址中加了0a0h(=160d) pop cx loop s3 mov ax,4c00h int 21hcode endsend start10 MOV ADD JMP SUB BX LOOP AND OR DIV DD DW DB DUP WORD PTR BYTE PTR DIV

15、offset JMP short ptr/nearptr 標號等 JCXZ LOOP RET RETF CALL MUL 參數(shù)和結果的傳遞:assume cs:codedata segment db conversationdata endscode segmentstart: mov ax,data mov ds,ax mov si,0 mov cx,12 call captal mov ax,4c00h int 21hcaptal: mov al,si and al,11011111b mov si,alinc si loop captal retcode endsend start編寫子程序。

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關資源

更多
正為您匹配相似的精品文檔

相關搜索

關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!