|
|
| <!--插入廣告JS代碼--> |
一、匯編程序功能

匯編指令與機器碼指令有一一對應(yīng)的關(guān)系。
匯編程序是一種翻譯程序,將源程序翻譯成目標程序。
二、匯編程序的匯編過程
匯編有兩種方法:手工匯編、機器匯編。
1、手工匯編:
第一次匯編:確定地址,翻譯成各條機器碼,字符標號原樣寫出;
第二次匯編:標號代真,將字符標號用所計算出的具體地址值或偏移量代換。
| | 源程序 | 地址 | 目標程序 |
| | 第一次匯編 | 第二次匯編 |
| | | ORG 1000H | | | |
| | START: | MOV R0,BUFFER-1 | 1000 | A82F | A82F |
| | | MOV R2,#00H | 1002 | 7A00 | 7A00 |
| | | MOV A,@R0 | 1004 | E6 | E6 |
| | | MOV R3,A | 1005 | FB | FB |
| | | INC R3 | 1006 | 0B | 0B |
| | | SJMP NEXT | 1007 | 80NEXT | 8005 |
| | LOOP; | INC R0 | 1009 | 08 | 08 |
| | | CJNE @R0,#44H,NEXT | 100A | B644NEXT | B64401 |
| | | INC R2 | 100D | 0A | 0A |
| | NEXT: | DJNZ R3,LOOP | 100E | DBLOOP | DBF9 |
| | | MOV RESULT,R2 | 1010 | 8A2A | 8A2A |
| | | SJMP $ | 1012 | 80FE | 80FE |
| | BUFFER | DATA 30H | | | |
| | RESULT | DATA 2AH | | | |
| | | END | | | |
2、機器匯編
兩次掃描過程。
第一次掃描:檢查語法錯誤,確定符號名字;
建立使用的全部符號名字表;
每一符號名字后跟一對應(yīng)值(地址或數(shù))。
第二次掃描:是在第一次掃描基礎(chǔ)上,將符號地址轉(zhuǎn)換成真地址(代真);
利用操作碼表將助記符轉(zhuǎn)換成相應(yīng)的目標碼。