数字0-9字符对应的格雷码为:18H,31H,05H,06H,09H,0AH,0CH,11H,12H,14H。用汇编语言编程序将0-9数字转换成
发布网友
发布时间:2022-04-25 14:59
我来回答
共3个回答
热心网友
时间:2023-10-10 11:52
data segment
gc db 18H,31H,05H,06H,09H,0AH,0CH,11H,12H,14H;定义格雷码表
result db ?,?,"$";存放转换后的格雷码
data ends
code segment
assume ds:data,cs:code
start:mov ax,data
mov ds,ax
lea bx,gc
next:mov ah,1;从键盘输入一个字符
int 21h;
cmp al,30h;判断输入的字符是否是0~9之间,若不是,则重新输入
jb next
cmp al,39h
ja next
sub al,30h;若是,则将其ASCII码转换成数字0~9
xlat;查表得到所输入数字的格雷码
mov ah,al
mov cl,4
shr ah,cl
add ah,30h
mov result+1,ah;存入result单元中
and al,0fh
add al,30h
mov result,al
lea dx,result;将转换后的格雷码在屏幕上输出
mov ah,9
int 21h
mov ax,4c00h;程序结束
int 21h
code ends
end start
热心网友
时间:2023-10-10 11:53
你需要确认以下几个环境的编码:
1 源文件编码(即要存入mysql的数据来源);
2 perl执行端(即执行perl的环境)的字符编码;(听你的意思,似乎2和1相同)
3 mysql数据库的默认编码。
保持三码合一应该就不会有问题,如果三码不合一,一般在perl程序里面进行转码,或者设置连接编码方式,似乎一般是这样:
在连接数据库后,写入数据前,设定连接参数
$dbh->do("SETNAMES 'GBK'"); #GBK是你的数据库的编码类型
热心网友
时间:2023-10-10 11:53
数字0-9字符,在那里?
转换后,怎么办? 需要显示吗?追问数字0-9字符对应的格雷码为:18H,31H,05H,06H,09H,0AH,0CH,11H,12H,14H
需要显示啊
追答;----------------------------------------------
DATA SEGMENT ;数据段.
GR DB 18H, 31H, 05H, 06H, 09H
DB 0AH, 0CH, 11H, 12H, 14H
ASC DB '0123456789ABCDEF'
MSG1 DB 13, 10, 'Please input a num (0~9) : $'
MSG2 DB 13, 10, 'The GR code is : $'
MSG3 DB 13, 10, 'Oh ! my god ! $'
DATA ENDS
;----------------------------------------------
CODE SEGMENT ;代码段.
ASSUME CS:CODE, DS:DATA
START:
MOV AX, DATA
MOV DS, AX
;------------------------------
MOV DX, OFFSET MSG1
MOV AH, 9 ;9号功能调用,显示提示.
INT 21H ;显示.
MOV AH, 1 ;1号功能调用,键入、显示.
INT 21H ;
CMP AL, '0'
JB ERR
CMP AL, '9'
JBE L1 ;小于等于9转移.
ERR:
MOV DX, OFFSET MSG3
MOV AH, 9 ;9号功能调用,显示提示.
INT 21H ;显示.
JMP EXIT
;------------------------------
L1:
PUSH AX
MOV DX, OFFSET MSG2
MOV AH, 9 ;9号功能调用,显示提示.
INT 21H ;显示.
POP AX
AND AL, 0FH
MOV AH, 0
MOV BX, OFFSET GR
ADD BX, AX
MOV AL, [BX]
;------------------------------
MOV AH, 0
MOV BL, 16 ;
DIV BL
PUSH AX
MOV AH, 0
MOV BX, OFFSET ASC
ADD BX, AX
MOV DL, [BX]
MOV AH, 2
INT 21H
;------------------------------
POP AX
MOV AL, AH
MOV AH, 0
MOV BX, OFFSET ASC
ADD BX, AX
MOV DL, [BX]
MOV AH, 2
INT 21H
;------------------------------
MOV DL, 'H'
MOV AH, 2
INT 21H
;------------------------------
EXIT:
MOV AH, 4CH
INT 21H
;------------------------------
CODE ENDS
END START
...0AH,0CH,11H,12H,14H。用汇编语言编程序将0-9数字转换成
gc db 18H,31H,05H,06H,09H,0AH,0CH,11H,12H,14H;定义格雷码表 result db ?,?,"$";存放转换后的格雷码 data ends code segment assume ds:data,cs:code start:mov ax,data mov ds,ax lea bx,gc next:mov ah,1;从键盘输入一个字符 int 21h;cmp al,30h;判断输入的字符是否是0...
阿拉伯数字1到9用格雷码怎样转换
自然二进制码转换成二进制格雷码,其法则是保留自然二进制码的最高位作为格雷码的最高位,而次高位格雷码为二进制码的高位与次高位相异或,而格雷码其余各位与次高位的求法相类似。二进制格雷码转换成自然二进制码 二进制格雷码转换成自然二进制码,其法则是保留格雷码的最高位作为自然二进制码的最高位,...
汇编语言编程,接收从键盘输入的字符,以CTR+C 结束,并将其中的小写字母转...
MOV AH,09H INT 21H MOV DX,OFFSET BUF MOV AH,0AH INT 21H LEA DX, NEWLINE ;专门用来换行 MOV AH, 9 INT 21H MOV CL, BUF1 MOV CH, 0 ;BUF1单元中存放的是有效输入字符数 LOOP1:MOV AL,BUF2[SI] ;从BUF2单元开始才是有效字符 CMP AL,61H JB NEXT ;JBE改为JB ...
汇编中INT21H是什么意思
INT21H是指DOS的中断调用命令的意思。INT指软件中断, 21H是函数入口地址,具体可查看芯片形号。最常用的包括:01H、07H和08H:从标准输入设备输入字符。02H:字符输出。03H:辅助设备的输入。04H:辅助设备的输出。05H:打印输出。06H:控制台输入、输出。09H:显示字符串。0AH:键盘缓冲输入。0BH:...
时钟程序单片机
ORG 0030H START: CLR RST MOV SP,#2AH SETB 05H CLR 06H SETB 07H;CLR 07H CLR 08H CLR 09H CLR 0AH CLR 0BH CLR 0CH SETB 0DH CLR 0EH CLR 0FH CLR 10H CLR 11H MOV R2,#00H ; MOV R3,#00H ; MOV TMOD,#12H MOV TL1,#0e5H ;wait MOV TH1,#0BeH MOV TH0,#3FH ;200uS 3f...
基于ATMEGA8和PCF8563的多功能数字闹钟,要求显示时分秒(6个数码管...
05h 日 01- 31 BCD 码格式数06h 星期 0- 607h 月/世纪 C 01 -12 BCD 码格式数08h 年 00- 99 BCD 码格式数09h 分钟报警 AE 00 -59 BCD 码格式数0Ah 小时报警 AE 00 -23 BCD 码格式数0BH 日报警 AE 01- 31 BCD 码格式数0CH 星期报警 AE 0- 6*//*atmega16中,IIC 的SCL, SDA端口可以...
采用汇编语言,设某一变量的数据保存在片内RAM的30H单元中,取值范围为...
ORG 0000HLJMP MAINORG 0030HMAIN: MOV 30H,#3 MOV DPTR,#TAB MOV A,30H MOVC A,@A+DPTR MOV 31H,A SJMP $TAB: DB 0,1,4,9,16,25,36,49,64,81 END
关于51单片机点阵的问题
30H,10H,00H ;-- 文字: 庭 -- ;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -- DB 00H,00H,0FCH,04H,14H,94H,74H,05H,0A6H,0A4H,0E4H,94H,94H,94H,04H,00H DB 40H,30H,8FH,48H,31H,1EH,20H,48H,48H,48H,4FH,48H,48H,48H,48H,00H ...
怎样做一个数字计时器?
MOVX @DPTR,A ;输出列置0 MOV DPTR,#HIN MOVX A,@DPTR ;读入键盘状态 CPL A ANL A,#0FH RET KEYTABLE: DB 16H,15H,14H,0FFH ;键码定义 DB 13H,12H,11H,10H DB 0DH,0CH,0BH,0AH DB 0EH,03H,06H,09H DB 0FH,02H,05H,08H DB 00H,01H,04H,07H GETKEY: MOV DPTR,#OU...
汇编语言db什么意思?
DB作为汇编语言中的伪操作命令,它用来定义操作数占用的字节数。表达式中可包含符号、字符串、或表达式等项,各个项之间用逗号隔开,字符串应用引号括起来。括号内的标号是可选项,如果使用了标号。DB的作用:在这里B是byte的缩写,即字节,所以,该伪操作所定义的每个操作数占有1个字节(8位)。如:1...