**處理字符問題**

`db 'unlx'`相當于"db 75H,6EH,49H,S8H" , "u"、"n"、"1"、"X"的ASCI1別為75H、 6EH,49H, 58H;
`db 'оRK'`相當于"db 66H,6FH,S2H,4BH" , "f"、"0"、"R"、“K"的ASC1分別為66H、 6FH, 52H,4BH;
編譯器會將字符轉化為ASCII碼
`mov al,'a'`在匯編中識別為`mov 61`
數據段為什么是從076A開始的?
《匯編語言》(第二版)P104頁,上面寫著參考4.9節內容。原因大致如下: 設找到一段起始地址為 SA:0000 的容量足夠的空閑內存區;在這段內存區的前256個字節中,創建一個稱謂程序段前綴(PSP)的數據區,DOS要利用PSP來和被加載程序進行通信(不理解的話可以暫且記住);在這段內存區的256字節處開始(在PSP的后面),將程序裝入,程序的地址被設為SA+10H:0(這里確實是256個字節即100H,256 = 16*16,所以會空出100H 的空間,也就是10:0H,“寫法可能不對,暫且這么理解”);將這段內存區的段地址存入ds中,初始化其他相關的寄存器后,設置CSIP指向程序的入口

**大小寫轉換**


大寫字母 = 小寫字母 and 1101 1111? ? ? ? ? ? //其他位數保持不變,第6位從1變成0
小寫字母 = 大寫字母 or 0010 0000? ? ? ? ? ? ?//其他位數保持不變,第6位從0變成1

改進版查看[bx+idata]方式尋址章節
```
```