keil教程——解压缩BCD码
生活随笔
收集整理的這篇文章主要介紹了
keil教程——解压缩BCD码
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
keil教程——解壓縮BCD碼
??1.題目:解壓縮BCD碼,將片內(nèi)數(shù)據(jù)的高4位和低4位分離,并存在片外
??要求:已知5個(gè)壓縮BCD碼,存于首地址為0030H的片外RAM的連續(xù)5個(gè)單元試將其分離后存人首地址為40H的片內(nèi)RAM連續(xù)10個(gè)單元中。
#include<absacc.h> //操作絕對(duì)地址必需的函數(shù)庫(kù)unsigned char xdata a[5] _at_ 0x0030; //定義字符型數(shù)組a,絕對(duì)地址片外 RAM 30H unsigned char xdata a[5] = {0x1b,0x2e,0x3a,0x4e,0x5d}; //組a賦值 unsigned char data b[10] _at_ 0x40; //定義字符型數(shù)組b,絕對(duì)地址片內(nèi) RAM 40H void main() {unsigned char i; //定義循環(huán)序號(hào)變量ifor(i=0;i<5;i++){ b[2*i]=a[i]>>4; //40H、42H、44H、46H、48H單元變換數(shù)據(jù)(取高4位) b[2*i+1]=a[i]&0x0f; //41H、43H、45H、47H、49H單元變換數(shù)據(jù)(取低4位)} }2.進(jìn)入調(diào)試窗口:
①窗口的 Address編輯框內(nèi)鍵人x:0x0030。Memory#2窗口內(nèi)0x0030及其后續(xù)5個(gè)單元已依次存人數(shù)組a數(shù)據(jù):1B、2E、3A、4E、5D.
②全速運(yùn)行后,看到Memory#2窗口內(nèi)D:0x40及其后續(xù)10個(gè)單元,已依次存人分離后的數(shù)據(jù):1、B、2、E、3、A、4、E、5、D.
至此完成
總結(jié)
以上是生活随笔為你收集整理的keil教程——解压缩BCD码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [Leedcode][JAVA][第56
- 下一篇: Flink – JobManager.s