8085程式,用於向7位ASCII字元字串新增偶校驗。
在這裡,我們將瞭解如何使用8085向7位ASCII字串新增偶校驗。
問題陳述
編寫一個程式,向7位ASCII字元的字串新增偶校驗。字串的長度儲存在記憶體位置8040H,字串本身從記憶體位置8041H開始。將偶校驗置於每個字元的最高有效位。
討論
8085具有奇偶校驗標誌。該標誌將用於檢查併為每個ASCII字元分配奇偶校驗。首先,我們將透過將數字與7FH進行掩碼來清除最高有效位。然後使用OR指令,因為它會影響奇偶校驗標誌。如果奇偶校驗為偶數,則跳過,否則將最高有效位設定為1。此過程將重複,直到字串用完。
輸入
地址 | 資料 |
---|---|
… | … |
8040 | 06 |
8041 | 7F |
8042 | 55 |
8043 | D5 |
8044 | FF |
8045 | 13 |
8046 | 88 |
… | … |
流程圖
程式
地址 | 十六進位制程式碼 | 標籤 | 助記符 | 註釋 |
---|---|---|---|---|
8000 | 21, 40. 80 | START | LXI H, 8040 H | H 8040 H 計數器指標 |
8003 | 4E | | MOV C, M | C (HL) 計數器 |
8004 | 23 | LOOP | INX H | HL HL + 1 |
8005 | 7E | | MOV A, M | A (HL); 獲取一個字 |
8006 | E6, 7F | | ANI 7F H | 掩碼最高有效位=0,因為它將用於奇偶校驗位 |
8008 | B7 | | ORA A | 檢查奇偶校驗(ORA 影響 S、Z、P) |
8009 | EA, 0E, 80 | | JPE DOWN | 奇偶校驗是否為偶數,如果是則轉到down |
800C | F6, 80 | | ORI 80 H | 將1作為最高有效位新增 |
800E | 77 | DOWN | MOV M, A | 儲存結果 |
800F | 0D | | DCR C | 計數器 = 計數器 – 1 |
8010 | C2, 04, 80 | | JNZ LOOP | C 是否為 0?如果不是,則轉到迴圈 |
8013 | 76 | | HLT | 停止 |
輸出
地址 | 資料 |
---|---|
… | … |
8041 | FF |
8042 | 55 |
8043 | 55 |
8044 | FF |
8045 | 93 |
8046 | 88 |
… | … |
廣告