汇编经典小程序
汇编经典小程序
汇编经典小程序(总5页) -CAL-FENGHAI.-(YICAI)-Company One1-CAL-本页仅作为文档封面,使用请直接删除实验一:判断一个数X的正,负数,还是零。
(假设是正数,输出+,是负数,输出-,是零,输出This is a zore !)DATA SEGMENTX DB 10CR EQU 0DHLF EQU 0AHW DB 'This is a zore!',CR,LF,'$'ZHENG DB '+',CR,LF,'$'FU DB '-',CR,LF,'$'DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV AL,XAND AL,ALJZ L1SHL AL,1JC L3JMP L2L1: MOV DX,OFFSET WMOV AH,9INT 21HJMP L4L2: MOV DX,OFFSET ZHENGMOV AH,9INT 21HJMP L4L3: MOV DX,OFFSET FUMOV AH,9INT 21HJMP L4L4: MOV AH,4CHINT 21HCODE ENDSEND START实验二:求十个数中的最小数,并以十进制输出。
(若要求最大的,只要把JC 改为JNC 即可)(仅局限于0---16间的数比较,因为ADD AL,30H只是针对一位的十六进制转换十进制的算法)DATA SEGMENTXDAT DB 0AH,1FH,02H,03H,04H,05H,06H,07H,08H,09HMIN DBCR EQU 0DHLF EQU 0AHW DB ' is min',CR,LF,'$'DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV CX,9MOV SI,OFFSET XDATMOV AL,[SI]L2: CMP AL,[SI+1]JC L1MOV AL,[SI+1]L1: INC SILOOP L2ADD AL,30HMOV DL,ALMOV AH,2INT 21HMOV DX,OFFSET WMOV AH,9INT 21HCODE ENDSEND START实验三:设有3个单字节无符号数存放在BUF开始的缓冲区中,编写一个能将它们从大到小从新排列的程序。
(完整版)8086汇编经典例程,推荐文档
sub bl,26 mov al,'a' add al,bl
MOV CX,00H WAIT1: LOOP WAIT1
;延时计数器 ;延时
DW 2 DUP (25*8,25*8,50*8) DW 12 DUP (25*8),100*8
jmp next40
DEC DX
next24: sub bl,52
==========================================
MAIN ENDP
MOV AX,[SI]
5. 编写一个数组排序(从小到大)的小程序,数组在程
序中定义,程序先将原数组显示一遍,然后排序,再
DISP PROC
将排好序的数组显示一遍。
PUSH SI
==========================================
MUS_TIME2 DW 3 DUP(50),25,25,50,25,25,100 DW 2 DUP(50,50,25,25),100 DW 3 DUP(50,25,25),100
crlf proc push ax push dx
音演奏歌曲 ========================================== ;这是一个音乐程序,按大写字母“A”,唱乐曲“玛丽
ccc segment assume cs:ccc,ds:qqq
main proc far start: mov ax,qqq
mov ds,ax
next3:
jmp next10 cmp al,'a' jnae next4 cmp al,'z' ja next4 sub al,'a'
汇编小程序
---------程序sy3-1:实现从键盘输入一位数字,判断其奇偶性。
并在屏幕上输出一个标志,若为奇数,则输出1;否则输出0。
---------如果输入的不是数字,则显示字符串“ERROR”。
DATAS SEGMENTSTRING DB "ERROR$" ;定义字符串FLAG DB ? ;设置奇偶标志DATAS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATASSTART:MOV AX,DATASMOV DS,AXMOV FLAG,'1' ;给标志位FLAG赋初值MOV AH,01HINT 21H ;接收键盘输入一位数CMP AL,30HJB ERRCMP AL,39HJA ERRTEST AL,01H ;测试,根据最后一位判断奇偶性JNZ OUTPUT ;不为0则为奇数MOV FLAG,'0'OUTPUT:MOV DL,FLAGMOV AH,02HINT 21H ;输出标志位JMP EXITERR: ;显示字符串MOV DX,OFFSET STRINGMOV AH,9INT 21HEXIT:MOV AH,4CHINT 21HCODES ENDSEND START;---------程序sy3-2:根据用户输入的星期几数字代号(0代表星期天),在屏幕上显示相应的英文缩写名。
DATAS SEGMENTs0 db "Sun$"S1 DB "Mon$"S2 DB "Tue$"S3 DB "Wed$"S4 DB "Thu$"S5 DB "Fri$"S6 DB "Sat$"ADDR_TABLE DW S0,S1,S2,S3,S4,S5,S6 ;定义地址表DATAS ENDSSTACKS SEGMENT;此处输入堆栈段代码STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AXMOV AH,1INT 21H ;接受键盘输入CMP AL,30HJB EXITCMP AL,36H ;不是数字0~6,则退出程序JA EXITSUB AL,30H ;转变为数字MOV BL,2MUL BL ;数字乘以2的结果是在地址表中的相应位置的偏移值MOV BX,AX ;将输入的数字转换为地址表中的偏移地址MOV DX,ADDR_TABLE[BX] ;取地址表中的相应内容(即DX为字符串的偏移地址)MOV AH,9INT 21H ;显示字符串EXIT:MOV AH,4CHINT 21HCODES ENDSEND START;-------------SY4-1.ASM: 该程序计算1~100的和并用十进制的形式在屏幕上显示出来。
汇编小程序_6
SUBB A, R5 ;高8位相减
JC DDIV2 ;不够减, 转DDIV2
INC R6 ;够减, 则商为1
MOV R3, A ;相减结果送R3R2中
MOV A, R0
MOV R2, A
DDIV2: DJNZ R1, DDIV1 ;16位未除完则继续
MOV A, R7
RLC A
MOV R7, A
MOV A, R2
RLC A
MOV R2, A
MOV A, R3
RLC A
MOV R3, A
MOV A, R2 ;部分余数减除数
SUBB A, R4 ;低8位相减
JC DDIV2 ;不够减, 转DDIV2
MOV R0, A ;暂存相减结果
;==============================================================
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN: MOV A, R4 ;执行程序前为R7R6(被除数), R5R4(除数)赋值
JNZ DDIV0 ;除数不为0, 转DDIV0
MOV A, R5
JZ ERROR ;除数为0, 转ERROR
DDIV0: MOV R2, #00H ;余数寄存器清零
MOV R3, #00H
MOV R1, #16 ;循环次数为16
DDIV1: CLR C ;R3R2R7R6左移1位
MOV A, R6
RLC A
MOV R6, A
CLR F0 ;除数合法标志
LJMP MAIN ;设置断点观察结果, 可继续下一轮运算
Linux下简单C语言小程序的反汇编分析
Linux下简单C语⾔⼩程序的反汇编分析韩洋原创作品转载请注明出处《Linux内核分析》MOOC课程写在开始,本⽂为因为参加MOOC相关课程⽽写的作业,如有疏漏,还请指出。
选了⼀门Linux内核分析课程,因为阅读内核代码中或多或少要涉及到At&T汇编代码的阅读,所以这⾥写下⼀个对⼀个简单C命令⾏程序的反汇编分析过程,⼀⽅⾯完成作业,另⼀⽅⾯当作练⼿。
下⾯开始:1、编写我们的C语⾔⼩程序这⾥我们使⽤简单的例⼦,代码如下:1 #include <stdio.h>23int exG(int x)4 {5return x + 5;6 }78int exF(int x)9 {10return exG(x);11 }1213int main(void)14 {15return exF(10) + 2;16 }使⽤vim等编辑器写⼊上述代码,保存到main.c,然后使⽤下⾯命令⽣成汇编源⽂件:x86系统:$gcc -S -o main.s main.cx64系统:$gcc -m32 -S -o main.s main.c因为我们这⾥以32位平台为例⼦,所以在x64机器上要加上-m32来使GCC⽣成32位的汇编源⽂件。
2、处理源⽂件执⾏完上述命令后,当前⽬录下就会有⼀个main.s的⽂件,使⽤vim打开,不需要的链接信息[以"."开头的⾏],得到如下汇编代码:1 exG:2 pushl %ebp3 movl %esp, %ebp4 movl 8(%ebp), %eax5 addl $5, %eax6 popl %ebp7 ret8 exF:9 pushl %ebp10 movl %esp, %ebp11 pushl 8(%ebp)12 call exG13 addl $4, %esp14 leave15 ret16 main:17 pushl %ebp18 movl %esp, %ebp19 pushl $1020 call exF21 addl $4, %esp22 addl $2, %eax23 leave24 ret可以看到这个⽂件⾥是GCC帮我们⽣成的汇编代码,这⾥需要说明下AT&T格式和intel格式,这两种格式GCC是都可以⽣成的,如果要⽣成intel格式的汇编代码,只需要加上 -masm=intel选项即可,但是Linux下默认是使⽤AT&T格式来书写汇编代码,Linux Kernel代码中也是AT&T格式,我们要慢慢习惯使⽤AT&T格式书写汇编代码。
python编程100个小程序
python编程100个小程序Python是一种简单易学的编程语言,它具有强大的功能和广泛的应用领域。
在学习Python编程的过程中,编写一些小程序是非常有帮助的。
下面我将为大家介绍100个Python编程的小程序。
1. 打印"Hello, World!":这是Python编程的入门程序,用于验证环境是否配置正确。
2. 计算两个数的和:输入两个数,计算它们的和并输出结果。
3. 判断一个数是否为偶数:输入一个数,判断它是否为偶数并输出结果。
4. 计算一个数的阶乘:输入一个数,计算它的阶乘并输出结果。
5. 判断一个数是否为质数:输入一个数,判断它是否为质数并输出结果。
6. 判断一个字符串是否为回文串:输入一个字符串,判断它是否为回文串并输出结果。
7. 判断一个字符串是否为有效的括号序列:输入一个字符串,判断它是否为有效的括号序列并输出结果。
8. 判断一个字符串是否为有效的IP地址:输入一个字符串,判断它是否为有效的IP地址并输出结果。
9. 判断一个字符串是否为有效的邮箱地址:输入一个字符串,判断它是否为有效的邮箱地址并输出结果。
断它是否为有效的手机号码并输出结果。
11. 判断一个字符串是否为有效的身份证号码:输入一个字符串,判断它是否为有效的身份证号码并输出结果。
12. 判断一个字符串是否为有效的URL地址:输入一个字符串,判断它是否为有效的URL地址并输出结果。
13. 判断一个字符串是否为有效的日期格式:输入一个字符串,判断它是否为有效的日期格式并输出结果。
14. 判断一个字符串是否为有效的密码:输入一个字符串,判断它是否为有效的密码并输出结果。
15. 判断一个字符串是否为有效的用户名:输入一个字符串,判断它是否为有效的用户名并输出结果。
16. 判断一个字符串是否为有效的文件名:输入一个字符串,判断它是否为有效的文件名并输出结果。
17. 判断一个字符串是否为有效的变量名:输入一个字符串,判断它是否为有效的变量名并输出结果。
钢结构计算小程序
结构常 用计算程序汇编
钢筋混凝土结构
钢结构
矩形截面单双筋--抗弯抗剪验算
单筋T形截面--抗弯验算
深梁与短梁--抗弯验算
矩形截面受弯剪扭--抗扭验算
雨蓬板配筋裂缝计算
雨蓬梁配筋裂缝计算
软弱下卧层验算
地下室外墙计算 单(双)柱锥形基础计算 墙高厚比验算 灌注桩单桩竖向承载力计算 柱体积配箍率计算 筏基底板冲切计算 楼面荷载计算 楼梯间荷载计算 砌体梁端局部受压计算 双柱条基计算 螺旋楼梯计算 板式楼梯计算 一字形剪力墙配箍计算 L形剪力墙配箍计算 无翼墙L形剪力墙配箍计算 牛腿计算
支撑系统---ST梁,墙面斜撑,风拉杆计算
工型拉(压)弯构件强度及稳定性校核计算
箱形拉(压)弯构件强度及稳定性校核计算
工字型、T型、箱型截面斜撑计算
框架柱计算长度(有侧移及无侧移)
砼-钢组合梁计算
钢梁(工字型、箱型)受扭计算
工型梁加劲肋计算 地震反映谱 高强度螺栓连接计算 格构式双工截面参数计算(I I) 实腹式双工截面参数计算(十字) 实腹式工型组合截面参数计算(|—I) 箱型(工型帖板)截面参数计算 简支梁温度变化引起内力 钢梁受扭计算 梁柱固结计算 次梁与主梁铰接计算程式 钢管混凝土柱计算 摩擦型高强螺栓拉剪连接计算
汇编小程序_11
MOV A, #55H
MOVX @DPTR, A
MOV DPTR, #ADDR_UNLOCK1
MOV A, #20H
MOVX @DPTR, A
RET
;======芯片擦除, 擦除后全为FF======
ERASE: MOV DPTR, #ADDR_UNLOCK1
MOV R4, #80H
MOV A, #55H
UWLP1: MOVX @DPTR, A
INC DPL
DJNZ R4, UWLP1
RET
;======去除保护特性======
UPROT: MOV DPTR, #ADDR_UNLOCK1
MOV A, #0AAH
MOVX @DPTR, A
MOV R4, #80H ;128
MOV A, #00H
PWLP1: MOVX @DPTR, A
INC DPL
INC A
DJNZ R4, PWLP1
RET
;======不带保护写, 写入128字节的55H======
UPWRITE:MOV DPTR, #START_ADDR
MOV A, #0AAH
MOVX @DPTR, A
MOV DPTR, #ADDR_UNLOCK2
MOV A, #55H
MOVX @DPTR, A
MOV DPTR, #ADDR_UNLOCK1
MOV A, #0A0H
MOVX @DPTR, A
MOV DPTR, #START_ADDR
DLP1: MOV R6, #0F0H
DLP2: NOP
常用的结构计算小程序
钢筋混凝土结构
钢结构
矩形截面单双筋--抗弯抗剪验算
单筋T形截面--抗弯验算ห้องสมุดไป่ตู้
深梁与短梁--抗弯验算
矩形截面受弯剪扭--抗扭验算
雨蓬板配筋裂缝计算
雨蓬梁配筋裂缝计算
软弱下卧层验算
地下室外墙计算 单(双)柱锥形基础计算 墙高厚比验算 灌注桩单桩竖向承载力计算 柱体积配箍率计算 筏基底板冲切计算 楼面荷载计算 楼梯间荷载计算 砌体梁端局部受压计算 双柱条基计算 螺旋楼梯计算 板式楼梯计算 一字形剪力墙配箍计算 L形剪力墙配箍计算 无翼墙L形剪力墙配箍计算 牛腿计算
支撑系统---ST梁,墙面斜撑,风拉杆计算
工型拉(压)弯构件强度及稳定性校核计算
箱形拉(压)弯构件强度及稳定性校核计算
工字型、T型、箱型截面斜撑计算
框架柱计算长度(有侧移及无侧移)
砼-钢组合梁计算
钢梁(工字型、箱型)受扭计算
工型梁加劲肋计算 地震反映谱 高强度螺栓连接计算 格构式双工截面参数计算(I I) 实腹式双工截面参数计算(十字) 实腹式工型组合截面参数计算(|—I) 箱型(工型帖板)截面参数计算 简支梁温度变化引起内力 钢梁受扭计算 梁柱固结计算 次梁与主梁铰接计算程式 钢管混凝土柱计算 摩擦型高强螺栓拉剪连接计算
常用资料
双吊钩桥式起重机参数资料 LH型电动葫芦起重机参数资料
精选10个汇编语言程序案例集
精选10个汇编语言程序案例集
1. 汇编语言编写的计算器程序,这个程序可以接受用户输入的两个数字,然后执行加减乘除等运算,并将结果输出到屏幕上。
2. 文件复制程序,这个程序可以使用汇编语言编写,实现将一个文件的内容复制到另一个文件中的功能。
3. 简单的操作系统内核,使用汇编语言编写一个简单的操作系统内核,可以包括基本的文件管理和进程调度功能。
4. 汇编语言写的游戏,例如经典的贪吃蛇游戏或者俄罗斯方块游戏,这些游戏可以使用汇编语言编写。
5. 串口通信程序,使用汇编语言编写一个可以通过串口进行通信的程序,可以实现数据的发送和接收。
6. 硬件驱动程序,编写一个简单的汇编语言程序,可以控制硬件设备,例如控制LED灯的亮灭。
7. 汇编语言编写的加密解密算法,实现一个简单的加密解密算
法,例如凯撒密码或者简单的异或运算。
8. 简单的图形界面程序,使用汇编语言编写一个简单的图形界面程序,可以实现基本的窗口和按钮等功能。
9. 汇编语言编写的网络通信程序,实现一个简单的网络通信程序,可以进行基本的数据传输和接收。
10. 汇编语言编写的嵌入式系统程序,例如可以编写一个控制LED灯的嵌入式系统程序,可以通过按键控制LED的亮灭。
汇编语言小程序例子
盛年不重来,一日难再晨。
及时宜自勉,岁月不待人。
1.编写统计AX中1、0个数的源程序。
1的个数存入CH,0的个数存入CL。
CODE SEGMENTASSUME CS:CODESTART: MOV CX, 0MOV DX,17AA1: SUB DX, 1JZ AA3SHL AX, 1JNC AA2INC CHJMP AA1AA2: INC CLJMP AA1AA3: MOV AH,4CHINT 21HCODE ENDSEND START2.编写比较两个字符串STRING1和STRING2所含字符是否完全相同的源程序,若相同则显示“MATCH”,若不相同则显示“NO MATCH”。
程序:DATA SEGMENTR1 DB 'MATCH',0AH,0DHR2 DB 'NO MATCH',0AH,0DH STRING1 DB 'XXXXX'N1 EQU $-STRING1STRING2 DB 'YYYYY'N2 EQU $-STRING2DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA START: MOV AX,DATAMOV DS,AXMOV AX,N1CMP AX,N2JNZ AA1ADD AX,1LEA SI,STRING1LEA DI,STRING2AA2: MOV BL,[SI]MOV BH,[DI]INC SIINC DISUB AX,1JZ AA3CMP BL,BH JZ AA2JMP AA1AA3: LEA BX,R1 MOV CX,7 AA4: MOV DL,[BX] INC BXMOV AH,2INT 21HLOOP AA4JMP EAA1: LEA BX,R2 MOV CX,10 AA5: MOV DL,[BX] INC BXMOV AH,2INT 21HLOOP AA5INT 21HCODE ENDSEND START3.从键盘读入一个四位的十六进制数,CRT显示等值的二进制数.由于每个十六进制数位对应4个二进制,所以每读入一个十六进制位后,即可将其对应的4个二进制位依次输出。
汇编小程序-猜字母游戏
DATA SEGMENTMSGTITLE0 DB ' *-------------------------------------*',10,13,'$' MSGTITLE1 DB ' | Now let"S paly a game,guess a word |',10,13,'$' MSGTITLE2 DB ' | The word must be A(a)-----Z(z)! |',10,13,'$' MSGTITLE3 DB ' | You have only 9 chance!! |',10,13,'$' MSGTITLE4 DB ' *_____________________________________*',10,13,'$' MSGINPUT DB 10,13,'input word:',10,13,'$'MSGERROR DB 10,13,'wrong word!input again [A(a)--Z(z)]:',10,13,'$' MSGRESCUE DB 10,13,'Rescue game:',10,13,'$'MSGLARGE DB 10,13,'too large!!',10,13,'$'MSGSMALL DB 10,13,'too small!!',10,13,'$'MSGRIGHT1 DB 10,13,'Bingo!! you only used ','$'MSGRIGHT2 DB ' times',10,13,'$'MSGRECORD DB 'Congruatulation!!You break the record!','$'MSGFAIL DB 'Game failed! You have use all chance!',10,13,'$'MSGAGAIN DB 10,13,'Want try again?<y/n><Y/N>','$'MSGQUIT DB 10,13,'Are you sure want to quit?<y/n><Y/N>','$'AI DB ?BTIME DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA;------------------------------------------------------------------MAIN PROC FARSTART:MOV AX,DATAMOV DS,AXLEA DX,MSGTITLE0MOV AH,09HINT 21HLEA DX,MSGTITLE1MOV AH,09HINT 21HLEA DX,MSGTITLE2MOV AH,09HINT 21HLEA DX,MSGTITLE3MOV AH,09HINT 21HLEA DX,MSGTITLE4MOV AH,09HINT 21HMOV BTIME,'9'CALL GETTIMEMOV AI,DH ;取当前秒为初始算子BEGIN:LEA DX,MSGINPUTMOV AH,09HINT 21H ;输入input numberMOV AL,AICALL GETTIME ;再次取当前秒ADD AL,DHMOV BL,DL ;bl加上当前1/100秒,MUL BL ;之和再乘以当前秒。
汇编语言小程序例子
汇编语言小程序例子作为一种低级语言,汇编语言在计算机编程中起着重要的作用。
它能够直接操作计算机的硬件资源,具有高效性和灵活性。
下面我将介绍一些汇编语言的小程序例子,让我们来了解一下。
1. 计算两个数的和```assemblysection .datanum1 db 10num2 db 20result db 0section .textglobal _start_start:mov al, [num1] ; 将num1的值移动到寄存器AL中add al, [num2] ; 将num2的值加到AL寄存器中mov [result], al ; 将AL寄存器中的结果保存到result变量中mov eax, 1 ; 将1存入寄存器EAX,表示要打印到标准输出 mov ebx, 1 ; 将1存入寄存器EBX,表示标准输出文件描述符mov ecx, result ; 将result的地址存入寄存器ECX,表示要打印的内容mov edx, 1 ; 将1存入寄存器EDX,表示要打印的内容长度 int 0x80 ; 调用系统调用,输出结果到屏幕mov eax, 1 ; 将1存入寄存器EAX,表示退出程序xor ebx, ebx ; 清空寄存器EBXint 0x80 ; 调用系统调用,退出程序```以上是一个简单的汇编语言程序,用于计算两个数的和。
首先,我们在`.data`段定义了三个变量:`num1`、`num2`和`result`。
然后,在`.text`段通过指令将变量的值加载到寄存器中,并进行加法运算。
接下来,使用系统调用输出结果到屏幕,并通过系统调用退出程序。
2. 判断一个数是否为质数```assemblysection .datanum db 17isPrime db 1section .textglobal _start_start:mov ecx, 2 ; 从2开始除cmp ecx, num ; 比较ecx和num的值jg printResult ; 如果ecx大于num,则跳转到printResult标签loopStart:mov eax, numxor edx, edxdiv ecx ; 将num除以ecx的结果保存在eax,余数保存在edxcmp edx, 0 ; 比较余数是否为0je setNotPrime ; 如果余数为0,则num不是质数,设置isPrime 为0inc ecx ; ecx自增1cmp ecx, num ; 比较ecx和num的值jle loopStart ; 如果ecx小于等于num,则跳转到loopStart标签printResult:mov eax, 4 ; 将4存入寄存器EAX,表示要打印到标准输出 mov ebx, 1 ; 将1存入寄存器EBX,表示标准输出文件描述符mov ecx, isPrime ; 将isPrime的地址存入寄存器ECX,表示要打印的内容mov edx, 1 ; 将1存入寄存器EDX,表示要打印的内容长度 int 0x80 ; 调用系统调用,输出结果到屏幕mov eax, 1 ; 将1存入寄存器EAX,表示退出程序xor ebx, ebx ; 清空寄存器EBXint 0x80 ; 调用系统调用,退出程序setNotPrime:mov byte [isPrime], 0 ; 将isPrime设置为0jmp printResult ; 跳转到printResult标签,输出结果```以上程序用于判断一个数是否为质数。
VB编写各种趣味小程序(附代码)
VB编写各种趣味小程序(附代码)一、鸟巢绘制二、加密三、解密四、蝴蝶飞舞五、文本编辑六、统计七、小球跳动八、计算器(彩票摇奖)九、学生信息录入十、矩阵转置十一、带有进度条的倒计时程序十二、加减乘除随机数题十三、计算器十四、抽奖一、鸟巢绘制Private Sub Form_Click()ClsDim r, xi, yi, xj, yj, x0, y0, aif As Singler = Form10.ScaleHeight / 2x0 = Form10.ScaleWidth / 2y0 = Form10.ScaleHeight / 2n = 16aif = 3.14159 * 2 / nFor i = 1 To nxi = r * Cos(i * aif) + x0yi = r * Sin(i * aif) + y0For j = i To nxj = r * Cos(j * aif) + x0yj = r * Sin(j * aif) + y0Line (xi, yi)-(xj, yj), QBColor(i - 1)PSet (xi, yi)Print i - 1Next jNext iEnd SubPrivate Sub Form_Load()Print "要求:";Print "1.将圆周等分成16份;"Print "2.每个等分点要标记成0-16的数字;" Print "3.按样本图的图案画图。
"End Sub附图:二、加密Function code(ByVal s$, ByVal key%) Dim c As String * 1, iAsc%code = ""For i = 1 To Len(s)c = Mid$(s, i, 1)Select Case cCase "A" To "Z"iAsc = Asc(c) + keyIf iAsc > Asc("Z") Then iAsc = iAsc - 26 code = code + Chr(iAsc)Case "a" To "z"iAsc = Asc(c) + keyIf iAsc > Asc("z") Then iAsc = iAsc - 26 code = code + Chr(iAsc)Case Elsecode = code + cEnd SelectNext iEnd FunctionPrivate Sub close_Click()Form11.HideForm1.ShowEnd SubPrivate Sub Jiami_Click()Text2 = code(Text1, 2)End SubPrivate Sub open_Click()CommonDialog1.Action = 1Text1.Text = ""Open CommonDialog1.FileName For Input As #1Dim counter As IntegerDim workarea(25000) As StringProgressBar1.min = LBound(workarea)ProgressBar1.max = UBound(workarea)ProgressBar1.Visible = TrueProgressBar1.Value = ProgressBar1.minFor counter = LBound(workarea) To UBound(workarea) workarea(counter) = "initial value " & counter ProgressBar1.Value = counterNext counterDo While Not EOF(1)Line Input #1, inputdataText1.Text = Text1.Text + inputdata + vbCrLfLoopClose #1End SubPrivate Sub save_Click()CommonDialog1.FileName = "a1.txt"CommonDialog1.DefaultExt = "txt"CommonDialog1.Action = 2Open CommonDialog1.FileName For Output As #1Print #1, Text2.TextClose #1End Sub三、解密Function UnCode(ByVal s$, ByVal key%)Dim c As String * 1, iAsc%UnCode = ""For i = 1 To Len(s)c = Mid$(s, i, 1)Select Case cCase "A" To "Z"iAsc = Asc("c") - keyIf iAsc < Asc("A") Then iAsc = iAsc + 26UnCode = UnCode + Chr(iAsc)Case "a" To "z"iAsc = Asc(c) - keyIf iAsc < Asc("a") Then iAsc = iAsc + 26UnCode = UnCode + Chr(iAsc)Case ElseUnCode = UnCode + cEnd SelectNext iEnd FunctionPrivate Sub close_Click()Form2.HideForm1.ShowEnd SubPrivate Sub Jiemi_Click()Text2 = UnCode(Text1, 2)End SubPrivate Sub open_Click()CommonDialog1.Action = 1Text1.Text = ""Open CommonDialog1.FileName For Input As #1Dim counter As IntegerDim workarea(25000) As StringProgressBar1.min = LBound(workarea) ProgressBar1.max = UBound(workarea) ProgressBar1.Visible = TrueProgressBar1.Value = ProgressBar1.minFor counter = LBound(workarea) To UBound(workarea) workarea(counter) = "initial value " & counter ProgressBar1.Value = counterNext counterDo While Not EOF(1)Line Input #1, inputdataText1.Text = Text1.Text + inputdata + vbCrLfLoopClose #1End SubPrivate Sub save_Click()CommonDialog1.FileName = "a.txt" CommonDialog1.DefaultExt = "txt" CommonDialog1.Action = 2Open CommonDialog1.FileName For Output As #1 Print #1, Text2.TextClose #1End Sub四、蝴蝶飞舞Private Sub Form_Load()Print "蝴蝶飞出窗体后重新定位到左下方再向右上方飞" End SubPrivate Sub Timer1_Timer()Static PickBmp As IntegerIf PickBmp = 0 ThenImage1.Picture = Image2.PicturePickBmp = 1ElseImage1.Picture = Image3.PicturePickBmp = 0End IfCall mymoveEnd SubSub mymove()Image1.Move Image1.Left + 40, Image1.Top - 25If Image1.Top <= 0 ThenImage1.Left = 0Image1.Top = 2325End IfEnd Sub图:五、文本编辑Private Sub Copy_Click()Clipboard.ClearClipboard.SetText RichTextBox1.SelTextEnd SubPrivate Sub Cut_Click()Clipboard.ClearClipboard.SetText RichTextBox1.SelTextRichTextBox1.SelText = ""End SubPrivate Sub Exit_Click()Form3.HideForm1.ShowEnd SubPrivate Sub Font_Click()CommonDialog1.Flags = cdlCFBoth Or cdlCFEffects CommonDialog1.Action = 4RichTextBox1.FontName = CommonDialog1.FontName RichTextBox1.FontSize = CommonDialog1.FontSize RichTextBox1.FontBold = CommonDialog1.FontBold RichTextBox1.FontItalic = CommonDialog1.FontItalic RichTextBox1.FontStrikethru = CommonDialog1.FontStrikethru RichTextBox1.FontUnderline = CommonDialog1.FontUnderline RichTextBox1.ForeColor = CommonDialog1.ColorEnd SubPrivate Sub Form_Load()Print "注:"Print "1.'打开'对话框的初始文件夹应是所要打开文件所在的" Print "文件夹,将提供的xz.txt文件打开;"Print "2.要实现将选定的内容格式化,必须在工具箱中添加" Print "RichTextBox控件(Microsoft Rich Textbox Comtrol 6.0)" Print "并在帮助菜单中查阅其字体设置的相关属性。
代码制作微信小程序怎么弄出来
代码制作微信小程序怎么弄出来微信小程序是一种轻量级的应用程序,可以在微信中直接使用,为用户提供了便捷的服务和体验。
如果你对编程和开发感兴趣,那么制作一个微信小程序可能是一个不错的选择。
下面将介绍如何通过代码来制作一个简单的微信小程序。
准备工作在制作微信小程序之前,首先需要准备好以下工作:1.微信开发者工具:下载并安装微信开发者工具,这是开发微信小程序的必备工具。
2.微信公众平台账号:注册一个微信公众平台账号,用于发布和管理小程序。
创建小程序步骤一:新建项目在微信开发者工具中点击新建项目,填写小程序名称、AppID等信息,选择一个合适的开发模板。
步骤二:编辑代码微信小程序的代码主要由Json、Wxml、Wxss和JavaScript四部分组成。
在微信开发者工具中,可以编辑这些代码文件来实现小程序的各种功能。
步骤三:预览和调试在开发者工具中点击预览按钮,可以在模拟器中查看小程序的效果,并进行调试修改。
开发小程序功能在创建好小程序的基本结构后,可以通过以下方式为小程序添加功能:1.界面设计:编辑Wxml和Wxss文件,设计小程序的界面布局和样式。
2.交互逻辑:使用JavaScript编写小程序的交互逻辑,实现页面之间的跳转和数据交互。
3.接口调用:通过调用微信提供的接口,实现小程序与微信平台的交互,如获取用户信息、上传图片等功能。
调试和发布在开发过程中,可以通过微信开发者工具进行实时调试和预览小程序的效果。
当小程序开发完成后,可以通过微信公众平台将小程序提交审核并发布上线,供用户使用。
总结通过以上步骤,我们可以初步了解如何通过代码制作微信小程序。
制作小程序需要一定的编程知识和经验,但随着实践的积累和技能的提升,你将能够制作出更加丰富和有趣的微信小程序。
希望以上内容对你在制作微信小程序的过程中有所帮助。
汇编语言_24个汇编实例小程序
24个汇编小程序题目列表:逆序输出字符串“BASED ADDRESSING”从键盘上输入两个数,分别放到x,y单元,求出它们的和是编写一段程序,要求在长度为10h的数组中,找出大于42h的无符号数的个数并存入地址为up开始区域,找出小于42h的无符号数的个数并存入地址为down的开始区域键盘输入一段字符串,其中小写字母以大写字母输出,其他字符不变输出从键盘上就收一个小写字母,找出它的前导字符和后续字符,在顺序显示这三个字符把一个包含20个数据的数组M分成两组:正整数组P和负整数组N,分别把这两个数组中的数据的个数显示出来求出首地址为data的100个字数组中的最小偶数,并把它放在ax中输入两船字符串string1和string2,并比较两个字符串是否相等,相等就显示“match”,否则显示“no match”从键盘接收一个四位的十六进制数,并在终端显示与它等值的二进制数从键盘输入一系列以$为结束符的字符串,然后对其中的非数字字符计数,并显示计数结果有一个首地址为mem的100个字的数组,试编程序删除数组中所有为零的项,并将后续项向前压缩,最后将数组的剩余部分补上零从键盘上输入一串字符(用回车键结束,使用10号功能调用)放在string中,是编制一个程序测试字符串中是否存在数字。
如有,则把cl的第五位置1,否则将该位置置0在首地址为data的字数组中,存放了100h的16位字数据,试编写一个程序,求出平均值放在ax寄存器中,并求出数组中有多少个数小于此平均值,将结果放在bx寄存器中(f分别考虑有符号数、无符号数情况)一直数组A包含15个互不相等的整数,数组B包含20个互不相等的整数。
试编制一个程序,把既在A中又在B中出现的整数存放于数组C中设在A、B和D单元中分别存放着三个数。
若三个数都不是0,则求出三个数的和并存放在S单元,若其中有一个数为0,则把其它两个单元也清零。
请编写此程序从键盘输入一系列字符(以回车键结束),并按字母、数字和其他字符分类计数,最后显示这三类的计数结果已定义两个整数变量A和B,试编写程序完成以下功能(1)若两个树种有一个是奇数,则将奇数存入A中,偶数存入B中(2)若两个数均为奇数,则将两个数加1后存回原变量(3)若两个数均为偶数,则两个变量均不变写一段子程序skiplines,完成输出空行的功能。
创意编程小程序实例
创意编程小程序实例随着科技的发展,编程已经成为一种必备的技能。
编程不仅可以帮助我们解决问题,还可以开发各种有趣的小程序。
本文将为大家介绍几个创意的编程小程序实例,希望能够激发大家对编程的兴趣。
1. 闹钟小程序这个小程序可以帮助我们设置闹钟,并在设定的时间到达时发出提醒。
相比于普通的闹钟,这个小程序还可以根据不同的时间段播放不同的音乐,让我们在每天的早晨都能以美妙的音乐开始新的一天。
2. 健康小程序这个小程序可以帮助我们记录每天的运动情况,并根据我们的身体指标提供合适的健康建议。
它还可以设置定时提醒我们休息,并提供一些简单的健身操视频,让我们在工作学习之余也能保持身体健康。
3. 美食小程序这个小程序可以根据我们的口味和食材,为我们提供各种美食的菜谱。
它还可以根据我们的喜好推荐一些新的菜品,让我们在烹饪的过程中充满乐趣。
4. 旅行小程序这个小程序可以帮助我们规划旅行路线,并提供各种旅游景点的介绍和推荐。
它还可以根据我们的出行时间和预算,为我们提供合适的旅行方案,并帮助我们预订机票和酒店。
5. 学习小程序这个小程序可以帮助我们制定学习计划,并提供各种学习资源和学习方法。
它还可以根据我们的学习情况进行智能推荐,帮助我们更高效地学习。
以上只是几个创意编程小程序实例的简单介绍,实际上,编程的可能性是无限的。
通过编程,我们可以开发出各种有趣的小程序,满足我们的各种需求。
编程不仅可以培养我们的逻辑思维和问题解决能力,还可以帮助我们创造出有趣的东西。
通过编程,我们可以将自己的创意变成现实,让我们的生活更加便捷和有趣。
如果你对编程感兴趣,不妨尝试学习一些编程语言,如Python、Java等。
通过学习编程,你将能够掌握一种强大的工具,为自己的创意找到最好的表达方式。
创意编程小程序是一种有趣而有意义的创作方式。
通过编程,我们可以创造出各种有趣实用的小程序,满足我们的各种需求。
希望本文能够给大家带来一些灵感,激发大家对编程的兴趣和创造力。
C#50个经典小程序(新手必备)
1.C#对注册表的操作-------------------------------------------------------------------------------------------------32.choosesubject--------------------------------------------------------------------------------------------------------43.n个数排序------------------------------------------------------------------------------------------------------------54.unknown---------------------------------------------------------------------------------------------------------------65.猜数字------------------------------------------------------------------------------------------------------------------86.猜数字个人版---------------------------------------------------------------------------------------------------------97.词频统计--------------------------------------------------------------------------------------------------------------108.递归方法求阶乘字符串反转------------------------------------------------------------------------------------129.第二种方法求一系列数的和------------------------------------------------------------------------------------1410.订票-------------------------------------------------------------------------------------------------------------------1511.发奖学金-------------------------------------------------------------------------------------------------------------1712.构造函数属性------------------------------------------------------------------------------------------------------2013.关闭特定程序------------------------------------------------------------------------------------------------------2114.何意数排序----------------------------------------------------------------------------------------------------------2215.加密--------------------------------------------------------------------------------------------------------------------2316.解一元二次方程的解矩阵相乘--------------------------------------------------------------------------------2417.九九乘法表-----------------------------------------------------------------------------------------------------------2518.矩形---------------------------------------------------------------------------------------------------------------------2519.矩阵相乘---------------------------------------------------------------------------------------------------------------2720.矩阵相乘-改进加入异常处理------------------------------------------------------------------------------------2921.利用列表排n个数的序--------------------------------------------------------------------------------------------3322.朦胧诗-------------------------------------------------------------------------------------------------------------------3423.判断是否为汉字------------------------------------------------------------------------------------------------------3524.棋盘-----------------------------------------------------------------------------------------------------------------------3625.求N个数的阶乘------------------------------------------------------------------------------------------------------3726.求次幂的简便方法----------------------------------------------------------------------------------------------------3727.求和平均值--------------------------------------------------------------------------------------------------------------3828.求阶乘---------------------------------------------------------------------------------------------------------------------3929.求平均成绩---------------------------------------------------------------------------------------------------------------4030.求平均成绩使用二维数组--------------------------------------------------------------------------------------------4131.求三阶行列式的值------------------------------------------------------------------------------------------------------4232.求素数----------------------------------------------------------------------------------------------------------------------4333.求素数最简单-------------------------------------------------------------------------------------------------------------4434.求一系列数的和----------------------------------------------------------------------------------------------------------4535.求一系列整数的和-------------------------------------------------------------------------------------------------------4636.求质数-----------------------------------------------------------------------------------------------------------------------4637.三个数排序-----------------------------------------------------------------------------------------------------------------4738.三个数最大数--------------------------------------------------------------------------------------------------------------4839.身份验证---------------------------------------------------------------------------------------------------------------------4940.十进制转换成二进制----------------------------------------------------------------------------------------------------5041.实时获取CPU使用率----------------------------------------------------------------------------------------------------5142.实现关机-危险勿试-------------------------------------------------------------------------------------------------------5343.实现一个数的N次方---------------------------------------------------------------------------------------------------5444.输出素数----------------------------------------------------------------------------------------------------------------------5545.输出随机数-----------------------------------------------------------------------------------------------------------------5646.输出图形---------------------------------------------------------------------------------------------------------------------5747.宿舍值日---------------------------------------------------------------------------------------------------------------------5848.验证概率---------------------------------------------------------------------------------------------------------------------5949.一到一百之间的素数-----------------------------------------------------------------------------------------------------6150.以二进制读取文本文件--------------------------------------------------------------------------------------------------62C#中对注册表的操作Windows 操作系统的注册表包含了很多有关计算机运行的配置方式,打开注册表我们可以看到注册表是按类似于目录的树结构组织的,其中第二级目录包含了五个预定义主键分别是:HKEY_CLASSES_ROOT,HKEY_CURRENT_USER,HKEY_LOCAL_MACHINE,HKEY_USERS,HKEY_CURRENT_CONFIG。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一:判断一个数X的正,负数,还是零。
(假设是正数,输出+,是负数,输出-,是零,输出This is a zore !)
DATA SEGMENT
X DB 10
CR EQU 0DH
LF EQU 0AH
W DB 'This is a zore!',CR,LF,'$'
ZHENG DB '+',CR,LF,'$'
FU DB '-',CR,LF,'$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV AL,X
AND AL,AL
JZ L1
SHL AL,1
JC L3
JMP L2
L1: MOV DX,OFFSET W
MOV AH,9
INT 21H
JMP L4
L2: MOV DX,OFFSET ZHENG
MOV AH,9
INT 21H
JMP L4
L3: MOV DX,OFFSET FU
MOV AH,9
INT 21H
JMP L4
L4: MOV AH,4CH
INT 21H
CODE ENDS
END START
实验二:求十个数中的最小数,并以十进制输出。
(若要求最大的,只要把JC 改为JNC 即可)(仅局限于0---16间的数比较,因为ADD AL,30H只是针对一位的十六进制转换十进制的算法)
DATA SEGMENT
XDAT DB 0AH,1FH,02H,03H,04H,05H,06H,07H,08H,09H
MIN DB ?
CR EQU 0DH
W DB ' is min',CR,LF,'$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV CX,9
MOV SI,OFFSET XDAT
MOV AL,[SI]
L2: CMP AL,[SI+1]
JC L1
MOV AL,[SI+1]
L1: INC SI
LOOP L2
ADD AL,30H
MOV DL,AL
MOV AH,2
INT 21H
MOV DX,OFFSET W
MOV AH,9
INT 21H
CODE ENDS
END START
实验三:设有3个单字节无符号数存放在BUF开始的缓冲区中,编写一个能将它们从大到小从新排列的程序。
DATA SEGMENT
BUF DB 87,234,123
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV SI,OFFSET BUF
MOV AL,[SI] ;把3个数取到寄存器中
MOV BL,[SI+1]
MOV CL,[SI+2]
CMP AL,BL ;排序,将最大数送AL寄存器
JAE NEXT1
XCHG AL,BL
NEXT1:CMP AL,CL
JAE NEXT2
XCHG AL,CL
NEXT2:CMP BL,CL ;将最小输送CL寄存器
XCHG BL,CL
NEXT3:MOV [SI],AL ;从大到小依次存回缓冲区,AL,BL,CL MOV [SI+1],BL
MOV [SI+2],CL
MOV AH,4CH
INT 21H
CODE ENDS
END START
实验三(2):设某一数组的长度为N,个元素均为字数据,试编制一个程序使该数组中的数据按照从小到大的次序排列。
(要从大到小排序,只需把JBE改为JAE即可)
ADATA SEGMENT
N EQU 10
DATA DW 87,54,78,45,35,23,04H,12H,03H,21H
ADATA ENDS
ACODE SEGMENT
ASSUME CS:ACODE,DS:ADATA
START:MOV AX,ADATA
MOV DS,AX
MOV DS,AX
MOV BX,0
MOV CX,N
DEC CX
LOP1: MOV DX,CX
LOP2: MOV AX,DATA[BX]
CMP AX,DATA[BX+2]
JBE CONTI
XCHG AX,DATA[BX+2]
MOV DATA[BX],AX
CONTI: ADD BX,2
LOOP LOP2
MOV CX,DX
MOV BX,0
LOOP LOP1
MOV AH,4CH
INT 21H
ACODE ENDS
END START
实验四:求十个数中的最小数,并以十六进制输出。
(若要求最大的,只需把JC 改为JNC 即可)
DATA SEGMENT
XDAT DB 0AH,1FH,0FH,0FH,0EH,0BH,0CH,0DH,0EH,0CH
TAB DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,41H,42H,43H,44H,45H,46H MIN DB ?
CR EQU 0DH
LF EQU 0AH
W DB ' is min',CR,LF,'$'
DATA ENDS
SSEG SEGMENT STACK
DW 100 DUP(?)
SSEG ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV CX,9
MOV SI,OFFSET XDAT
MOV AL,[SI]
L2: CMP AL,[SI+1]
JC L1
MOV AL,[SI+1]
L1: INC SI
LOOP L2
CALL DISPP
MOV DX,OFFSET W
MOV AH,9
INT 21H
MOV AH,4CH
INT 21H
DISPP PROC NEAR
PUSH DX
PUSH CX
MOV DL,AL
MOV CL,4
ROL DL,CL
AND DL,0FH
CALL DISP1
MOV DL,AL
AND DL,0FH
CALL DISP1
POP CX
POP DX
RET
DISPP ENDP
DISP1 PROC NEAR
PUSH AX
PUSH BX
PUSH CX
PUSH DX
MOV AL,DL
MOV BX,OFFSET TAB
MOV AH,0
ADD BX,AX
MOV DL,[BX]
MOV AH,2
INT 21H
POP DX
POP CX
POP BX
POP AX
RET
DISP1 ENDP
CODE ENDS
END START。