📄 sbbmisc.c
字号:
#include <stdio.h>char in_b, out_b1, out_b2, in_b2;short in_w, out_w1, out_w2;int in_l, out_l1, out_l2;extern void sbb_ib_al ( void );asm("\n""sbb_ib_al:\n""\tmovb in_b, %al\n""\tclc\n""\tsbbb $5, %al\n""\tmovb %al, out_b1\n""\tmovb in_b, %al\n""\tstc\n""\tsbbb $5, %al\n""\tmovb %al, out_b2\n""\tret\n");extern void sbb_iw_ax ( void );asm("\n""sbb_iw_ax:\n""\tmovw in_w, %ax\n""\tclc\n""\tsbbw $555, %ax\n""\tmovw %ax, out_w1\n""\tmovw in_w, %ax\n""\tstc\n""\tsbbw $555, %ax\n""\tmovw %ax, out_w2\n""\tret\n");extern void sbb_il_eax ( void );asm("\n""sbb_il_eax:\n""\tmovl in_l, %eax\n""\tclc\n""\tsbbl $555666, %eax\n""\tmovl %eax, out_l1\n""\tmovl in_l, %eax\n""\tstc\n""\tsbbl $555666, %eax\n""\tmovl %eax, out_l2\n""\tret\n");extern void sbb_eb_gb ( void );asm("\n""sbb_eb_gb:\n""\tmovb in_b, %al\n""\tclc\n""\tsbbb in_b2, %al\n""\tmovb %al, out_b1\n""\tmovb in_b, %al\n""\tstc\n""\tsbbb in_b2, %al\n""\tmovb %al, out_b2\n""\tret\n");extern void sbb_eb_gb_2 ( void );asm("\n""sbb_eb_gb_2:\n""\tpushl %ecx\n""\tmovb in_b, %cl\n""\tmovb in_b2, %dh\n""\tclc\n""\tsbbb %dh,%cl\n""\tmovb %cl, out_b1\n""\tmovb in_b, %cl\n""\tmovb in_b2, %dh\n""\tstc\n""\tsbbb %dh,%cl\n""\tmovb %cl, out_b2\n""\tpopl %ecx\n""\tret\n");extern void adc_eb_gb ( void );asm("\n""adc_eb_gb:\n""\tmovb in_b, %al\n""\tclc\n""\tadcb in_b2, %al\n""\tmovb %al, out_b1\n""\tmovb in_b, %al\n""\tstc\n""\tadcb in_b2, %al\n""\tmovb %al, out_b2\n""\tret\n");extern void adc_eb_gb_2 ( void );asm("\n""adc_eb_gb_2:\n""\tpushl %ecx\n""\tmovb in_b, %cl\n""\tmovb in_b2, %dh\n""\tclc\n""\tadcb %dh,%cl\n""\tmovb %cl, out_b1\n""\tmovb in_b, %cl\n""\tmovb in_b2, %dh\n""\tstc\n""\tadcb %dh,%cl\n""\tmovb %cl, out_b2\n""\tpopl %ecx\n""\tret\n");int main ( void ){ in_b = 99; sbb_ib_al(); printf("r1 = %d %d\n", (int)out_b1, (int)out_b2); in_w = 49999; sbb_iw_ax(); printf("r2 = %d %d\n", (int)out_w1, (int)out_w2); in_l = 0xF0000000; sbb_il_eax(); printf("r3 = %d %d\n", (int)out_l1, (int)out_l2); in_b = 99; in_b2 = 88; sbb_eb_gb(); printf("r4 = %d %d\n", (int)out_b1, (int)out_b2); in_b = 66; in_b2 = 77; sbb_eb_gb_2(); printf("r5 = %d %d\n", (int)out_b1, (int)out_b2); in_b = 99; in_b2 = 88; adc_eb_gb(); printf("r6 = %d %d\n", (int)out_b1, (int)out_b2); in_b = 66; in_b2 = 77; adc_eb_gb_2(); printf("r7 = %d %d\n", (int)out_b1, (int)out_b2); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -