久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2376|回復: 0
打印 上一主題 下一主題
收起左側

微機原理里面的練習程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:209160 發表于 2017-6-8 12:36 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. DIS  MACRO  LOCAT,CODE   ;設置圖形顯示宏定義
  2.       PUSH  DX
  3.       PUSH  BX
  4.       PUSH  AX
  5.       MOV  DX,LOCAT        ;設置光標位置
  6.       MOV  BH,00
  7.       MOV  AH,02H
  8.       INT  10H
  9.       MOV  DL,CODE         ;輸出字符串
  10.       MOV  AH,02H
  11.       INT  21H
  12.       POP  AX
  13.       POP  BX
  14.       POP  DX
  15.        ENDM

  16. DAT  SEGMENT          ;設置數據段
  17. BUF  DB  'INPUT  START  RESET  END  CONTINUE

  18.     ;設置功能說明
  19. BUFFER  DB  10 DUP(?)            ;定義緩存區
  20. TIP  DB 'M E M O R Y

  21.               ;定義記憶提示
  22. NUM  DB  1                     
  23. LOD  EQU  0929H
  24. DAT  ENDS
  25. COD  SEGMENT                 ;定義代碼段
  26. START  PROC  FAR
  27. ASSUME  CS:COD,DS:DAT      
  28. MOV  AX,DAT
  29. MOV  DS,AX
  30. MOV  DX,OFFSET  BUF          ;輸出功能說明
  31. MOV  AH,09H
  32. INT  21H
  33. CALL  DISMER                  ;記憶區提示符置光標
  34. MOV  DX,OFFSET  TIP           ;輸出記憶提示字符
  35. MOV  AH,09H
  36. INT  21H
  37. CALL  CLR             ;圖形區清屏并設置顏色
  38. CALL  CLRDAT          ;秒表數字區清屏并設置顏色
  39. CALL  CLRMER          ; 記憶區清屏并設置顏色
  40. DIS  0419H,'<'            ;通過宏調用顯示圖形
  41. DIS  0517H,'<'
  42. DIS  0715H,'<'
  43. DIS  0914H,'<'
  44. DIS  0B14H,'<'
  45. DIS  060EH,'_'
  46. DIS  0710H,'_'
  47. DIS  0812H,'_'
  48. DIS  0913H,'_'
  49. DIS  0A14H,'_'
  50. DIS  0915H,'_'
  51. DIS  0816H,'_'
  52. DIS  0718H,'_'
  53. DIS  061AH,'_'
  54. DIS  071CH,'*'
  55. DIS  081EH,'*'
  56. DIS  091FH,'*'
  57. DIS  0B20H,'*'
  58. DIS  0D21H,'*'
  59. DIS  0F21H,'*'
  60. DIS  1120H,'*'
  61. DIS  131FH,'*'
  62. DIS  141EH,'*'
  63. DIS  151DH,'*'
  64. DIS  161BH,'*'
  65. DIS  1719H,'*'
  66. DIS  1717H,'_'
  67. DIS  1616H,'_'
  68. DIS  1514H,'_'
  69. DIS  1612H,'_'
  70. DIS  1711H,'_'
  71. DIS  170EH,'*'
  72. DIS  160CH,'*'
  73. DIS  150BH,'*'
  74. DIS  140AH,'*'   
  75. DIS  1309H,'*'
  76. DIS  1108H,'*'
  77. DIS  0F07H,'*'
  78. DIS  0D07H,'*'
  79. DIS  0B08H,'*'
  80. DIS  0909H,'*'
  81. DIS  080AH,'*'
  82. DIS  070CH,'*'
  83. DIS  0C12H,'_'
  84. DIS  0C13H,'_'
  85. DIS  0C14H,'_'
  86. DIS  0C15H,'_'
  87. DIS  0C16H,'_'
  88. CALL  GO                        ;設置初植
  89. LOAD:  CALL  IOSET                 ;光標定位
  90. CALL  HALT                         ;等待輸入
  91. MOV  DX,0
  92. MOV  CH,0
  93. AGAIN:                                 
  94. CALL  TIME                          ;調用延時程序
  95. MOV  AL,DL                           ;百分之一秒加一
  96. ADD  AL,1
  97. DAA
  98. JC  NEXT1                              ;滿一百進位
  99. MOV   DL,AL
  100. JMP  DISPY                             ;不滿一百顯示
  101. NEXT1:  MOV  DL,0
  102. MOV  AL,DH                           ;秒位加一
  103. ADD  AL,1
  104. DAA
  105. MOV  DH,AL
  106. CMP  AL,60H                             
  107. JNE  DISPY
  108. CALL  BELL                              ;滿60提示鈴聲并進位
  109. MOV  DH,0
  110. MOV  AL,CH                               ;分位加一
  111. ADD  AL,1
  112. DAA
  113. MOV  CH,AL
  114. CMP  AL,60H
  115. JNE  DISPY                                      ;滿60清零
  116. MOV  CH,0
  117. DISPY:                          ;顯示電子秒表
  118. MOV  BX,OFFSET  BUFFER        ;取緩沖區地址     
  119. MOV  AL,CH
  120. CALL  TRAN                       ;將分位轉變為ASCII碼并送緩沖區
  121. INC  BX
  122. INC  BX
  123. MOV  AL,DH                      ;將秒位轉變為ASCII碼并送緩沖區
  124. CALL  TRAN
  125. INC  BX
  126. INC  BX
  127. MOV  AL,DL                      ;將百分之一秒位轉變為ASCII碼并送緩沖區
  128. CALL  TRAN
  129. PUSH  BX
  130. PUSH  CX
  131. PUSH  DX
  132. CALL  IOSET                     ;光標置位
  133. MOV  DX,OFFSET  BUFFER       ;輸出緩沖區字符串
  134. MOV  AH,09H
  135. INT  21H
  136. POP  DX
  137. POP  CX
  138. POP  BX
  139. MOV  AH,0BH                     ;等待鍵盤輸入
  140. INT  21H
  141. AND  AL,AL
  142. JZ  AGAIN
  143. MOV  AH,08H
  144. INT  21H
  145. CMP  AL,'R'                        ;判斷輸入是否為R
  146. JNE  NEXT2                        ;不是則判斷是否為E
  147. CALL  MEMORY                    ;若是則調用記憶功能保存當前值
  148. MOV  CH,0                          ;初值清零重新計數
  149. MOV  DL,0
  150. MOV  DH,0
  151. JMP  AGAIN
  152. NEXT2:
  153. CMP  AL,'E'                        ;判斷是否為E
  154. JNE  AGAIN                        ;不是則繼續計數
  155. NEXT3:                            ;若是則暫停計數
  156. MOV  AH,08H
  157. INT  21H
  158. CMP  AL,'C'                         ;判斷是否輸入C
  159. JE  AGAIN                          ;若是則繼續計數
  160. CMP  AL,'R'                         ;判斷是否輸入R
  161. JNE  NEXT3                         ;若不是則繼續等待輸入
  162. CALL MEMORY                      ;若是則調用記憶功能
  163. CALL  GO                           ;重新設置初值等待重新啟動
  164. CALL  IOSET
  165. MOV  DX,OFFSET  BUFFER
  166. MOV  AH,09H
  167. INT  21H
  168. JMP  LOAD
  169. RET
  170. START  ENDP
  171. GO  PROC                    ;設置初值子程序
  172. MOV  BX,OFFSET  BUFFER
  173. MOV  AL,'0'
  174. MOV  [BX],AL
  175. INC  BX
  176. MOV  AL,'0'
  177. MOV  [BX],AL
  178. INC  BX
  179. MOV  AL,':'
  180. MOV  [BX],AL
  181. INC  BX
  182. MOV  AL,'0'
  183. MOV  [BX],AL
  184. INC  BX
  185. MOV  AL,'0'
  186. MOV  [BX],AL
  187. INC  BX
  188. MOV  AL,':'
  189. MOV  [BX],AL
  190. INC  BX
  191. MOV  AL,'0'
  192. MOV  [BX],AL
  193. INC  BX
  194. MOV  AL,'0'
  195. MOV  [BX],AL
  196. INC  BX
  197. MOV  AL,'


  198. MOV  [BX],AL
  199. RET
  200. GO  ENDP
  201. IOSET  PROC
  202. MOV  DX,0F10H
  203. MOV  BH,00
  204. MOV  AH,02H
  205. INT  10H
  206. RET
  207. IOSET   ENDP
  208. HALT  PROC
  209. MOV  AH,08H
  210. INT  21H
  211. CMP  AL,'S'
  212. JNE  HALT
  213. RET
  214. HALT  ENDP
  215. TRAN  PROC                       ;十六進制轉ASCII碼子程序
  216. MOV  CL,AL
  217. SHR  AL,1
  218. SHR  AL,1
  219. SHR  AL,1
  220. SHR  AL,1
  221. OR  AL,30H
  222. MOV  [BX],AL
  223. INC  BX
  224. MOV  AL,CL
  225. AND  AL,0FH
  226. OR  AL,30H
  227. MOV  [BX],AL
  228. RET
  229. TRAN  ENDP
  230. TIME  PROC                    ;延時子程序
  231. PUSH  CX
  232. PUSH  AX
  233. MOV  AX,0EFH
  234. MOV  CX,0FFFFH
  235. A1:
  236. DEC  AX
  237. JNZ  A2
  238. JMP  A3
  239. A2:
  240. DEC  CX
  241. JNZ  A2
  242. JMP  A1
  243. A3:
  244. POP  AX
  245. POP  CX
  246. RET
  247. TIME  ENDP
  248. MEMORY   PROC                     ;記憶功能子程序
  249. PUSH  DX
  250. PUSH  BX
  251. PUSH  AX
  252. CMP  NUM,10
  253. JE  X2
  254. ADD  NUM,1
  255. X1:
  256. MOV  DX,LOD
  257. ADD  DH,NUM
  258. MOV  BH,00
  259. MOV  AH,02H
  260. INT  10H
  261. MOV  DX,OFFSET  BUFFER
  262. MOV  AH,09H
  263. INT  21H
  264. POP  AX
  265. POP  BX
  266. POP  DX
  267. RET
  268. X2: CALL  CLRMER
  269. MOV  NUM,1
  270. JMP  X1
  271. MEMORY  ENDP
  272. CLR  PROC                        ;圖形區清屏并設置顏色子程序
  273. MOV  AH,06H
  274. MOV  AL,14H
  275. MOV  CX,0401H
  276. MOV  DX,1721H
  277. MOV  BH,0CH
  278. INT  10H
  279. RET
  280. CLR  ENDP
  281. CLRDAT  PROC                      ;數據區清屏并設置顏色子程序
  282. MOV  AH,6
  283. MOV  AL,1
  284. MOV  CX,0F10H
  285. MOV  DX,0F18H
  286. MOV  BH,0BH
  287. INT 10H
  288. RET
  289. CLRDAT  ENDP
  290. CLRMER  PROC                         ;記憶區清屏并設置顏色子程序
  291. PUSH  AX
  292. PUSH  BX
  293. PUSH  CX
  294. PUSH  DX
  295. MOV  AH,6
  296. MOV  AL,11
  297. MOV  CX,0929H
  298. MOV  DX,0F32H
  299. MOV  BH,0DH
  300. INT  10H
  301. POP  DX
  302. POP  CX
  303. POP  BX
  304. POP  AX
  305. RET
  306. CLRMER  ENDP
  307. DISMER   PROC                         ;記憶提示顯示子程序
  308. MOV  AH,02H
  309. MOV  BH,00
  310. MOV  DX,0728H
  311. INT 10H
  312. RET
  313. DISMER  ENDP
  314. BELL  PROC                            ;滿分鐘提示音設置子程序
  315. PUSH  AX
  316. PUSH  DX
  317. MOV  AL,07H
  318. MOV  DL,AL
  319. MOV  AH,02H
  320. INT  21H
  321. POP  DX
  322. POP  AX
  323. RET
  324. BELL  ENDP
  325. COD  ENDS                          ;結束代碼段
  326. END  START                         ;結束源程序

復制代碼


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕一区二区三区在线观看 | 精品视频99 | 精品国产99 | 91精品一区二区三区久久久久久 | 久久久精品一区 | 中文字幕在线剧情 | 成人三区四区 | 天天干天天爱天天爽 | 国产成人精品一区二三区在线观看 | 精品国产一区探花在线观看 | 亚洲午夜精品一区二区三区他趣 | 福利视频网址 | 女同久久另类99精品国产 | 九九热这里 | 国产精品久久久久久久岛一牛影视 | 国产乱码精品一区二区三区五月婷 | av影片在线 | 91精品国产91久久久 | 亚洲欧美v| 少妇无套高潮一二三区 | 国产精品入口麻豆www | 亚洲精品免费视频 | 四虎影院欧美 | 伊人伊成久久人综合网站 | 免费国产一区 | 国产电影一区二区 | 国产999精品久久久影片官网 | 黄色网址在线免费观看 | 国产视频精品区 | 国产精品久久久久aaaa九色 | 欧美不卡一区二区三区 | 亚洲精品久久视频 | 国产精品免费高清 | 激情欧美日韩一区二区 | 荷兰欧美一级毛片 | 欧美黑人一级爽快片淫片高清 | 久草新在线 | 久久久www成人免费无遮挡大片 | 日韩在线视频免费观看 | 国产一区二区三区四区在线观看 | 911网站大全在线观看 |