当前位置: 首页 > news >正文

郓城做网站网络公司重庆seo1

郓城做网站网络公司,重庆seo1,什么网站可以做excel表格,怎么做整人的网站程序模板文件 下面的代码模板包含有关如何编写自己的程序集模块的指南和提示。此模板文件模板。A51 在文件夹 \C51\ASM 中提供。 $NOMOD51 ; 禁用预定义的 8051 寄存器 #include <reg52.h> // 包含头文件; ;根据需要更改小写名称。 ;该汇编模板让你…

程序模板文件

下面的代码模板包含有关如何编写自己的程序集模块的指南和提示。此模板文件模板。A51 在文件夹 \C51\ASM 中提供。

$NOMOD51                ; 禁用预定义的 8051 寄存器
#include <reg52.h>      // 包含头文件;
;根据需要更改小写名称。
;该汇编模板让你了解如何使用 A251/A51汇编器。 您不必以这种方式构建每个模块,这只是举例说明。
;除了文件末尾的 END 语句外,所有条目都是可选的。
;如果使用此模板,请确保删除任何未使用的段声明、以及未使用的变量空间和汇编指令。
;本文件无法提供 A251/A51 汇编程序的所有可能用途。;
; Module name (模块名)
;
NAME            module_name  ;通用汇编文件名;
; 在这里,您可以导入其他模块的符号。
;
EXTRN   CODE   (code_symbol)    ; 可以是code 段或者带有code指令的函数入口声明EXTRN   DATA   (data_symbol)    ; data数据声明EXTRN   BIT    (bit_symbol)     ; Bit 位声明EXTRN   XDATA  (xdata_symbol)   ; XDATA 数据声明EXTRN   NUMBER (typeless_symbol);  使用EQU or SET定义的声明;
; 可以一次性定义多个声明
;
EXTRN   CODE (sub_routine1, sub_routine2), DATA (variable_1);
; 在列表文中强制分页
;
$EJECT;
; 声明此处的符号可供其他模块使用
;
PUBLIC  data_variable
PUBLIC  code_entry
PUBLIC  typeless_number
PUBLIC  xdata_variable
PUBLIC  bit_variable;
; 可以一次性定义多个声明
;
PUBLIC  data_variable1, code_table, typeless_num1, xdata_variable1;
; Put the STACK segment in the main module.
;
?STACK          SEGMENT IDATA           ; 在IDATA ram中定义StackRSEG    ?STACK          ; 切换到?STACKDS      5               ;  保留5个STACK空间$EJECT;
; 将段落和变量声明放在此处
;;
; DATA SEGMENT(数据段) DATA RAM 中的预留空间 如果不使用,则删除该数据段。
;
data_seg_name   SEGMENT DATA            ; 声明在DATA RAM中的全局变量数据. RSEG    data_seg_name   ;  切换至该段
data_variable:  DS      1               ;  定义变量data_variable并申请1个字节空间
data_variable1: DS      2               ;  定义变量data_variable1并申请2个字节数组;
; DATA SEGMENT(数据段) DATA RAM 中的预留空间 如果不使用,则删除该数据段。
;
data_seg_name   SEGMENT DATA    OVERLAYABLE        ; 声明在DATA RAM中的局部变量数据. RSEG    data_seg_name   ;  切换至该段
data_variable:  DS      1               ;  定义变量data_variable并申请1个字节空间
data_variable1: DS      2               ;  定义变量data_variable1并申请2个字节数组
;
; XDATA SEGMENT 在 XDATA RAM 中预留空间 如果不使用,则删除该段。
;
xdata_seg_name  SEGMENT XDATA           ; 声明XDATA RAM段.RSEG    xdata_seg_name  ;  切换至该段
xdata_variable: DS      1               ; 
xdata_array:    DS      500             ;  定义变量xdata_array并申请500个字节数组;
; INPAGE XDATA SEGMENT 在 XDATA RAM 页面中保留空间(页面大小:256 字节)
; INPAGE 段适用于 @R0 寻址方法。
; 无用则删除
;
page_xdata_seg  SEGMENT XDATA INPAGE  RSEG    xdata_seg_name  
xdata_variable1:DS      1             ;
; ABSOLUTE XDATA SEGMENT 在 XDATA RAM 中保留绝对地址空间。
; ABSOLUTE 段对内存映射 I/O 非常有用。
;XSEG    AT 8000H        ; 定位到位于XDATA 中8000H的地址
XIO:            DS      1              
XCONFIG:        DS      1             ;
;BIT SEGMENT 保留 BIT RAM 中的空间 如果未使用,则删除该段。
;
bit_seg_name    SEGMENT BIT         RSEG    bit_seg_name   
bit_variable:   DBIT    1               ; 申请1Bit的位空间给bit_variable
bit_variable1:  DBIT    4     ;
; 在此处添加常量(无类型)数字。
;
typeless_number    EQU     0DH               
typeless_num1       EQU     typeless_number(8)     $EJECT;
;提供一个 LJMP,以主模块中的复位地址(地址 0)为起点
; 您可以将这种样式用于中断服务例程。
;CSEG    AT      0       ; 代码初始0地址LJMP    start         ;
; CODE SEGMENT(代码段) 在 CODE ROM 中为汇编指令预留空间。
;
code_seg_name   SEGMENT CODERSEG    code_seg_name  USING   0               ;  使用寄存器bank0start:          MOV     SP,#?STACK 1    ; 赋值指针;
;在此处插入您的汇编程序。 注意,下面的代码是非功能性的。
;ORL     IE,#82H         ; enable interrupt system (timer 0)SETB    TR0             ; enable timer 0
repeat_label:   MOV     A,data_symbolADD     A,#typeless_symbolCALL    code_symbolMOV     DPTR,#xdata_symbolMOVX    A,@DPTRMOV     R1,APUSH    AR1CALL    sub_routine1POP     AR1ADD     A,R1JMP     repeat_labelcode_entry:     CALL    code_symbolRET                                           ;程序结束code_table:     DW      repeat_labelDW      code_entryDB      typeless_numberDB      0
$EJECT;
; 要包含中断服务例程,请向 ISR 提供一个 LJMP跳转到中断服务程序
;CSEG    AT  0BH         ; 0BH   timer0中断入口LJMP    timer0int;
; 定义中断服务代码段
;
int0_code_seg   SEGMENT CODE         RSEG    int0_code_seg  USING   1               ; 使用寄存器bank1timer0int:      PUSH    PSWMOV     PSW,#08H        ; register bank 1PUSH    ACCMOV     R1,data_variableMOV     DPTR,#xdata_variableMOVX    A,@DPTRADD     A,R1MOV     data_variable1,ACLR     AADD     A,#0MOV     data_variable1+1,APOP     ACCPOP     PSWRETI;
; END必须有
;END             ; 文件结束

SEGMENT段名命名规

?存储器类型区分符?<函数名>?模块名 SEGMENT [段类型]
例:

 ?PR ? FUNCTION_NAME ? MODULE_NAME Segment  Code

全局变量与局部变量申明

全局变量

?存储器类型区分符? 模块名 SEGMENT 段类型 , 例:

 ?DT ? MAIN     SEGMENT DATA 

局部变量

  • 局部数据段的声明形式为:? 储存器类型区符?函数名?模块名 SEGMENT 段类型 OVERLAYABLE
  • 其中储存器类型的确定与全局数据段中的规则相同。当汇编程序按照C编译器编译的代码规则编写连接器将能对程序数据段进行覆盖分析。声明中的“OVERLAYABLE”标志就是用来打开段的覆盖属性,允许连接器进行覆盖分析。没有这个属性则段中的变量将一直占用这些空间,这样会降低储存器利用效率。
 ?DT ? main ? MAIN     SEGMENT DATA  OVERLAYABLE

类型列表:

段前缀C51存储类型汇编语言段类型说明
?PR?programCODE可执行程序代码代码
?CO?codeCODE程序存储区的常数数据
?BI?bitBIT内部数据区的位寻址数据
?BA?bdataBDATA内部数据区的可位寻址数据
?DT?dataDATA内部数据区 (SMALL存储模式)
?FD?farfar存储区(RAM空间)
?FC?const farFAR存储区(ROM空间)
?ID?idaraIDATA间接寻址内部数据区
?PD?pdataXDATA INPAGE外部数据区的分页数据 (COMPACT存储模式)
?XD?xdataXDATAXDATA存储区(ram空间,LARGE存储模式)
?XC?const xdataCODEXDATA存储区(rom空间)
http://www.hkea.cn/news/80568/

相关文章:

  • 垂直型电商网站如何做快速排名软件哪个好
  • 做产品推广有网站比较好的免费自助建站平台
  • 番禺网站建设公司排名百度推广页面投放
  • 沈阳做微网站百度收录刷排名
  • 网站建设与管理技术发展seo是什么意思如何实现
  • 手机游戏开发制作公司最新seo视频教程
  • 网站优化过度被k长春seo排名公司
  • wordpress移除谷歌字体seo网站推广与优化方案
  • 十大景观设计公司排名seo权重查询
  • 水友做的yyf网站十大免费引流平台
  • 东莞公司网站制作百度识图网页版 在线
  • 企业级网站内容管理解决方案网站关键词快速排名服务
  • 影视采集网站怎么做收录关键词是网站seo的核心工作
  • 开发一个网站需要多少时间百度账号免费注册
  • 化妆品网站主页设计长沙关键词优化方法
  • 南阳建网站企业百度推广优化工具
  • 怎样把自己做的网页放在网站里如何做宣传推广营销
  • 七谷网络工作室重庆优化seo
  • 东莞网站建设规范软文内容
  • 项目网站建设业务分析搜索优化的培训免费咨询
  • linux做网站服务器吗关键词上首页软件
  • 西安网站建设行业动态手机营销软件
  • 做推送的网站推荐今日新闻摘抄50字
  • 想在自己的网站做支付优化公司治理结构
  • 国内一家做国外酒店团购的网站网络推广优化是干啥的
  • 手机3d动画制作软件重庆网络seo公司
  • 青海和城乡建设厅网站石家庄自动seo
  • 建站网址是多少深圳市seo上词多少钱
  • 应用网站开发创建网站花钱吗
  • 2023太原疫情优化设计答案大全