英英词典(汇编实验)

功能要求:

1.单词及其英文解释的录入修改和删除

   (1 ) 录入新单词,把它插入到相应的位置(按词典顺序),其后跟英文解释、同义词、反义词;此功能要求在文件中完成,其它功能可以将单词放在数据段中

   (2 ) 可修改单词英文解释;

   (3 ) 删除单词及其英文解释;

2.查找:

  1. 输入不完整的字符串,会依顺序列出单词前缀和字符串相匹配的单词;

如输入:en

列出:enable, enabled, enact等

  1. 查询某个单词英文解释(如enable: to provide with the means or opportunity; to make possible, practical, or easy),词库中不存在此单词,则提示找不到;
  2. 查询某个单词的同义词(如accept: approve);
  3. 查询某个单词的反义词(如win: lose);

以上结果均需显示

编译环境:VScode, msdos player MASM-v5.00

字符编码方式:UTF-8

使用说明:

1. 进入界面后首先是输入单词,只允许输入小写字母,按下回车选中自动选中匹配的第一个单词,在此阶段按 esc 键退出程序

2. 按下回车选中单词,如果没有匹配的单词自动清空重新输入需要查询的单词

3. 查询、修改命令:

    :s 同义词 :o 反义词 :e 解释 :d 删除单词 :q 退出编辑/当前单词,重新搜索 :i 编辑解释 :w 保存修改(上一次操作为编辑解释有效)

4. 编辑解释,输入 :q 后光标自动跳到解释框,输入新的解释,遇到 : 结束,输入下一个命令

5. 输入 :q 退出查询后返回到输入单词搜索阶段

效果展示:

搜索匹配:

按下enter 选中匹配的第一个单词

查询解释:

查询反义词

查询近义词

修改解释

修改后的解释

修改解释未保存

修改后直接查询近义词,不保存解释

还是原来的解释

absent删除后重新查询后,没有absent

词库未录入 k 开头的单词显示找不到

代码

; multi-segment executable file template.
; 回车 确定 :s 同义词 :o 反义词 :e 解释 :d 删除单词 :q 退出编辑/当前单词,重新搜索 :i 编辑(只对解释有效) :w 保存修改  键 esc 退出程序
; 示例:white:expl[回车] 查看解释 :i[回车] 编辑解释 :s[回车] 保存解释WordMaxLen equ 30       ; 单词最大长度
MaxCntWord equ 200      ; 最多存储的单词数
WordNum equ 38          ; 输入的单词数
ExplLen equ 200         ; 单词解释最大长度readline macro adrlocal lop, checklea   dx, adrdec   dxlop:     mov   bx, readptrmov   cx, 1                        ;; 逐个字节读入inc   dxmov   ah, 3fhint   21hmov   bx, dxmov   al, ds:[bx]cmp   al, 0dh                      ;; 判断是否是回车jnz   lopmov   byte ptr ds:[bx], '$'        ;; 加上结束符 '$'mov   bx, readptrmov   cx, 0mov   dx, 1mov   al, 01hmov   ah, 42hint   21h                          ;; 读指针向后移一位,跳过换行endmscroll macro n, ulr, ulc, lrr, lrc, att, modeifidni <u>, <mode>mov    ah, 6elsemov    ah, 7endifmov    al, n              ;n = 上卷行数;n = 0时,整个窗口空白mov    ch, ulr            ;左上角行号mov    cl, ulc            ;左上角列号mov    dh, lrr            ;右下角行号mov    dl, lrc            ;右下角列号mov    bh, att            ;卷入行属性int    10H
endmcurse macro     cury,curxmov ah, 2           ;置光标位置mov dh, cury        ;行号mov dl, curx        ;列号mov bh, 0           ;当前页int 10H
endmdispscreen macro                               ;; 需预先设置好 ds, si, cx 和光标local dislop, disretdislop:    cldlodsbcmp   al, '$'               ;; 遇到 $ 结束jz    disretmov   ah, 0ehmov   bh, 0int   10hloop  dislopdisret:    
endmworddata strucwname      db       WordMaxLen+1 dup('$')                                                    ; 单词explain    db       ExplLen dup('$')                                                         ; 解释syn        db       WordMaxLen dup('$')                                                      ; 同义词opp        db       WordMaxLen dup('$')                                                      ; 反义词
worddata endsdata segmentcntword  dw    0                                                                        ; 保存单词的个数readptr  dw    ?words worddata MaxCntWord dup(<>)                                              ; 单词存储区filename db    'D:\assembly_language_program\curriculum_design\finalword.txt', 0        ; 单词文件路径err      db    'can not open file$'adr      dw    ?inputbuf db    WordMaxLen+1 dup('$')                                                    ; 单词搜索框,显示当前单词flag     db    0                                                                        ; 是否修改解释
data endsshowdata segmentseletw   dw ?                                                ; 匹配的单词数cmdbuf   db 10 dup('$')                                      ; 模式选择框showbuf  db ExplLen dup('$')                                 ; 输入解释curp     db 0                                                ; 光标位置noword   db 'there is no such word in the data base$'shwords  dw MaxCntWord dup(?)                                ; 保存匹配的单词
showdata endsinputinit macroscroll 0, 0, 0, 0, 79, 0e0h, u        ;; 单词输入框curse  0, 0
endmexplinit macroscroll 0, 1, 0, 17, 79, 0f1h, u        ;; 解释显示框curse  1, 0
endmcmdinit macroscroll 0, 18, 0, 18, 79, 0b0h, u        ; 命令输入框curse  18,0
endmstack segment stackdw 1024  dup(0)
stack endscode segmentassume     cs:code, ds:data, es:showdata, ss:stackstart:        ; set segment registers:mov        ax, datamov        ds, axmov        ax, showdatamov        es, axcall       init                                               ; 读入单词inputinitexplinitcmdinitcurse      0, 0get1:         lea        ax, inputbufmov        si, axmov        cx, 30                                             ; 置一行字符数get2:         mov        ah, 0                                              ; 等待输入int        16hcmp        al, 1bh                                            ; 是否为 esc 键?jz         exit                                               ; 是,退出cmp        al, 'a'                                            ; 输入单词,只允许输入字母jc         nextincmp        al, 'z'ja         nextindispin:       mov        [si], alinc        simov        ah, 0eh                                            ; 显示输入的字符int        10Hpush       cxmov        ah, 03h                                            ; 获取光标位置mov        bh, 0int        10hpush       dx                                                 ; 保存光标位置call       matchpop        dx                                                 ; 恢复光标位置mov        bh, 0mov        ah, 2int        10hpop        cxloop       get2nextin:       cmp        al, 0dh                                            ; 按下回车选中第一个单词,进入单词查询、修改jnz        nextin1call       opwordinputinit                                                     ; 清空输入框输入下一个单词loop       get1nextin1:      inc        cx                                                 ; 输入的不是字母或回车,重新输入这一位loop       get2inputinitcall       inputbufclearjmp        get1                                               ; 超过 30 个字母重新输入exit:         scroll     0,0,0,24,79,7                                      ; 清屏mov        ax, 4c00h                                          ; exit to operating system.int        21hinit proc                                                                           ; 初始化lea        dx, filenamemov        ah, 3dhmov        al, 00hmov        cx, 00hint        21h                                                ; 打开文件cmp        cx, 0jnz        notfile                                            ; 打开失败mov        readptr, ax                                        ; 保存文件标识lea        dx, wordsmov        cx, WordNumlop1:         mov        adr, dxcall       readwordpush       dxcall       adjustadd        dx, type worddatainc        cntword                                            ; 计数loop       lop1jmp        returnnotfile:      mov        ax, cxlea        dx, errmov        ah, 09hint        21hreturn:       mov        ah, 3ehmov        bx, readptrint        21hret
init endpreadword proc                                                                       ; 读入一个单词的内容,通过 adr 传递参数irp        regad, <ax, bx, cx, dx, si, di>push       regad
endmmov        ax, adrmov        si, axreadline   [si].wnamereadline   [si].explainreadline   [si].synreadline   [si].oppirp        regad, <di, si, dx, cx, bx, ax>pop        regad
endmret
readword endpcmpstr proc                                                                         ; 比较两个字符串的字典序, 通过堆栈传递参数,cl 返回结果irp        regad, <ax, bx, dx, si, di, bp, es>push       regad
endmmov        bp, spadd        bp, 16mov        di, [bp]add        bp, 2mov        si, [bp]mov        ax, datamov        es, axmov        cx, WordMaxLencldrepe       cmpsbmov        cl, [si - 1]                                       ; 计算放回值,通过两个不同的位置相减得到sub        cl, es:[di - 1]irp        regad, <es, bp, di, si, dx, bx, ax>pop        regad
endmret        4
cmpstr endpexchangeword proc                                                                   ; 交换两个单词的位置,通过堆栈传递两个单词的地址irp        regad, <ax, bx, cx, dx, si, di, bp, es>push       regad
endmmov        bp, spadd        bp, 18mov        ax, [bp]mov        si, axadd        bp, 2mov        ax, [bp]mov        di, axmov        ax, datamov        es, axmov        cx, type worddataxchglop:      mov        al, [si]                                           ; 按字节交换单词xchg       al, es:[di]xchg       al, [si]inc        siinc        diloop       xchglopirp        regad, <es, bp, di, si, dx, cx, bx, ax>pop        regad
endmret        4
exchangeword endpadjust proc                                                                         ; 调整单词的位置,通过堆栈传递单词地址irp        regad, <ax, bx, cx, dx, si, di, bp, es>push       regad
endmmov        bp, spadd        bp, 18mov        dx, [bp]mov        ax, dxsub        ax, type worddataadjlop:       cmp        dx, offset wordsjz         adjret                                             ; 如果在第一个位置返回push       dxpush       axcall       cmpstr                                             ; 和上一个字符串比较test       cl, 80h                                            ; 判断比较结果,判断 cl 是否是负数jz         adjret                                             ; 如果大于 0 说明到达对应位置push       dxpush       axcall       exchangeword                                       ; 向前调整sub        dx, type worddatasub        ax, type worddatajmp        adjlopadjret:       irp        regad, <es, bp, di, si, dx, cx, bx, ax>pop        regad
endmret        2
adjust endpexpldisp proc                                                                       ; 通过堆栈传递需要输出的内容mov        bp, spadd        bp, 2push       simov        ax, [bp]mov        si, axexplinitmov        cx, 80                                             ; 一行 80 个字符dispscreencmp        al, '$'jz         showexplcurse      2, 0mov        cx, 80dispscreenshowexpl:     mov        dx, sipop        siret        2
expldisp endpcursep proccurse      2, 0ret
cursep endpexplainintip procexplinitret
explainintip endpcmd1 proccmp        al, 'e'jnz        cmd1retlea        ax, [si].explainpush       axcall       expldispmov        al, 0mov        flag, alcmd1ret:      ret
cmd1 endpcmd2 proccmp        al, 's'jnz        cmd2retlea        ax, [si].synpush       axcall       expldispmov        al, 0mov        flag, alcmd2ret:      ret
cmd2 endpcmd3 proccmp        al, 'o'jnz        cmd3retlea        ax, [si].opppush       axcall       expldispmov        al, 0mov        flag, alcmd3ret:      ret
cmd3 endpcmd4 procirp        regad, <ax, bx, cx, dx, si, di, es, ds>push       regad
endmcmp        al, 'w'jnz        cmd4retmov        al, 1                                              ; 上一步是修改解释则写入cmp        flag, aljnz        cmd4retmov        cx, 100lea        ax, [si].explainmov        di, axlea        ax, showbufmov        si, axmov        ax, esmov        bx, dsxchg       ax, bxmov        ds, bxmov        es, axcldrep        movsbmov        al, 0mov        flag, alcmd4ret:      irp        regad, <ds, es, di, si, dx, cx, bx, ax>pop        regad
endmret
cmd4 endpcmd5 procirp        regad, <ax, bx, cx, dx, si, di, es, ds>push       regad
endmcmp        al, 'd'jnz        cmd5retmov        ax, cntworddec        axmov        dx, type worddatamul        dxadd        ax, offset wordsmov        bx, simov        dx, bxadd        dx, type worddataswap:         cmp        bx, axjz         cmd5retpush       dxpush       bxcall       exchangewordadd        bx, type worddataadd        dx, type worddatajmp        swapcmd5ret:      dec        cntwordirp        regad, <ds, es, di, si, dx, cx, bx, ax>pop        regad
endmret
cmd5 endpinputinitp procinputinitdispscreenret
inputinitp endpcmdinitp proccmdinitret
cmdinitp endpinputbufclear procirp        regad, <ax, bx, cx, dx, si, di, es, ds>push       regad
endmmov        cx, WordMaxLen+1                                   ; 清空输入框的内容mov        ax, datamov        es, axlea        ax, inputbufmov        di, axmov        al, '$'cldrep        stosbirp        regad, <ds, es, di, si, dx, cx, bx, ax>pop        regad
endmret
inputbufclear endpopword proc                                                                         ; 对选中的单词进行操作irp        regad, <ax, bx, cx, dx, si, di, es>push       regad
endmmov        ax, es:[seletw]cmp        ax, 0jz         opretmov        ax, es:[shwords]mov        si, axpush       sicall       inputinitppop        sicall       explainintipwaitinput:    mov        ah, 0                                              ; 等待输入int        16hcmp        al, ':'inputcmd:     push       axjnz        waitinputcall       cmdinitppop        axmov        ah, 0ehint        10hmov        ah, 0                                              ; 等待输入int        16hmov        ah, 0ehint        10hcmp        al, 'q'                                            ; 退出当前单词的查询jz         opretcall       cmd1call       cmd2call       cmd3call       cmd4call       cmd5cmp        al, 'd'                                            ; 已经把当前单词删除直接退出jz         opretcmp        al, 'i'jnz        waitinputmov        al, 1                                              ; 设置为 1 表示修改mov        flag, almov        cx, 100mov        al, '$'                                            ; 清空输入缓存lea        dx, showbufmov        di, dxrep        stosblea        dx, showbufmov        di, dxcall       explainintipmov        cx, 80                                             ; 允许输入单词的长度为 80inputexp:     mov        ah, 0                                              ; 等待输入int        16hcmp        al, ':'                                            ; 遇到 : 表示输入解释结束,进入下一个命令jz         inputcmdmov        bh, 0mov        ah, 0ehint        10hstosbloop       inputexpjmp        waitinputopret:        call       cmdinitpcall       inputbufclear                                      ; 清空输入缓存call       explainintip                                       ; 清屏irp        regad, <es, di, si, dx, cx, bx, ax>pop        regad
endmret
opword endpmatch proc                                                                          ; 匹配单词irp        regad, <ax, bx, cx, dx, si, di, es, ds, bp>push       regad
endmmov        ax, 0mov        es:[seletw], axscroll     0, 1, 0, 17, 79, 0f0h, u                           ; 清屏curse      1,0mov        es:[curp], 1                                       ; 保存光标位置mov        cx, ds:[cntword]lea        ax, wordsmov        si, axlea        ax, inputbufmov        di, axmov        ax, datamov        es, axlop2:         push       cxpush       dipush       simov        cx, 30                                             ; 开始匹配repe       cmpsbmov        al, '$'                                            ; 遇到 $ 表达匹配成功cmp        al, es:[di - 1]jnz        notmatchpush       esmov        ax, showdatamov        es, axpop        bppop        sipush       sipush       bpmov        bx, es:[seletw]shl        bx, 1add        bx, offset shwords                                 ; 计算保存新的匹配单词的位置mov        ax, simov        es:[bx], ax                                        ; 保存单词的地址inc        es:[seletw]                                        ; 计数pop        esmov        cx, 30pop        si                                                 ; 取出当前单词的首地址push       sidispscreen                                                    ; 输出匹配的单词push       esmov        ax, showdata                                       ; 光标下移mov        es, axinc        es:[curp]                                          ; 光标下移curse      es:[curp], 0pop        esnotmatch:     pop        sipop        dipop        cxmov        ax, siadd        ax, type worddata                                  ; 匹配下一个单词mov        si, axloop       lop2push       esmov        ax, showdatamov        es,axmov        ax, 0cmp        es:[seletw], axpop        esjnz        matchretlea        ax, noword                                         ; 没有匹配到任何单词输出错误mov        si, axmov        ax, showdatamov        ds, axmov        cx, 80dispscreenmatchret:     irp        regad, <bp, ds, es, di, si, dx, cx, bx, ax>pop        regad
endmret
match endpcode endsend start ; set entry point and stop the assembler.

代码有些 bug 使用时可以自己测试修改。

单词文件

absent
not present, lacking, or not attending
missing
present
ambitious
having a strong desire for success, power, or wealth
aspiring
content
blind
lack of sight or insight
sightless
seeing
bound
obliged by law, morality, or contract
limited
unlimited
bourgeois
relating to the middle class or its values and attitudes
middle-class
proletarian
cavity
an empty space within a solid object or among layers
hollow
solid
conservative
inclined to preserve existing conditions, ideas, or institutions
traditionalist
progressive
decisive
resolute; determined to act in a particular way
firm
indecisive
divine
relating to deity or the supernatural; godlike
heavenly
earthly
empirical
based on experiment and observation alone, without using intuitions or theories
experimental
theoretical
fantastic
imaginatively appealing or amusing
bizarre
realistic
fitting
appropriate and suitable for a particular purpose or occasion
appropriate
inappropriate
gracious
characterized by kindness, courtesy, and generosity
kind
rude
grassy
covered with grass or resembling grass
verdant
barren
hoarse
rough or low in tone; not clear and ringing
gravelly
melodious
hostile
showing active dislike or enmity
unfriendly
friendly
icy
extremely cold or covered with ice
frosty
warm
inclusive
including everything within a specified category or boundary
comprehensive
exclusive
linear
of or relating to a line or lines
straight
nonlinear
luminous
emitting or reflecting light; glowing
bright
dark
main
most important or prominent; chief
principal
secondary
microscopic
too small to be seen by the unaided eye; requiring a microscope for examination
minute
macroscopic
neighbouring (or neighboring)
located close to someone or something else; adjacent
adjacent
distant
novel
new and different from what has been done or known before; original
original
familiar
optical
relating to the sense of sight or to light
visual
tactile
practicable
capable of being accomplished or put into practice; feasible
feasible
impractical
qualitative
concerned with qualities rather than quantities or measurements
nonquantitative
quantitative
regenerative
tending to reform or restore itself after injury or loss
restorative
destructive
rigorous
very strict and exacting; stern or severe
strict
lenient
senseless
lacking common sense or judgment; wildly foolish
foolish
sensible
smart
intelligent and well-informed; clever and able to make good judgments
intelligent
dumb
thorough
carried out carefully and completely; leaving no room for error or omission
complete
superficial
tiresome
making you feel tired or bored; annoying or difficult to deal with
annoying
pleasant
uncertain
not known or established; doubtful or not definite
unclear
certain
versatile
capable of doing many different things well; adaptable and flexible
adaptable
one-dimensional
vulgar
lacking in refinement or good taste; crude or offensive in language or behavior
rude
elegant
workpiece
an object that is being worked on or that is to be worked on; a piece of workmanship
project
tool
white
of the color of pure snow; having no color or no pigment; lacking normal color as a result of genetic defect or disease
pale
blac

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/37115.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据库原理之数据库基本概念

目录 前言 基本概念 数据库完整性 前言 今天我们来看看数据库的基本概念&#xff0c;帮助大家对数据库有一点点最基本的了解 基本概念 4个基本概念 数据data&#xff1a;描述事物的符号&#xff0c;数据库中存储的基本对象。 数据库Database&#xff1a;长期存储在计算机…

山东大学多核并行2024年回忆版

2024.6.13回忆版 矩阵向量乘不可整除代码 集合通信与点对点通信的区别 块划分、循环划分、循环块划分&#xff08;14个向量&#xff0c;4个进程&#xff09; 按行访问还是按列访问快 SISD系统问题 循环依赖问题 问题&#xff1a;为什么不能对这个循环并行化&#xff0…

Python逻辑控制语句 之 综合案例

需求&#xff1a; 1. 提示⽤户输⼊登录系统的⽤户名和密码 2. 校验⽤户名和密码是否正确(正确的⽤户名:admin、密码:123456) 3. 如果⽤户名和密码都正确&#xff0c;打印“登录成功!”&#xff0c;并结束程序 4. 如果⽤户名或密码错误&#xff0c;打印“⽤户名或密码错误!”…

Django 对模型创建的两表插入数据

1&#xff0c;添加模型 Test/app8/models.py from django.db import modelsclass User(models.Model):username models.CharField(max_length50, uniqueTrue)email models.EmailField(uniqueTrue)password models.CharField(max_length128) # 使用哈希存储密码first_name …

DM 的断点续传测试

作者&#xff1a; 大鱼海棠 原文来源&#xff1a; https://tidb.net/blog/4540ae34 一、概述 DM有all、full、incremental三种数据迁移同步方式&#xff08;task-mode&#xff09;&#xff0c;在all同步模式下&#xff0c;因一些特殊情况&#xff0c;需要变更上游MySQL的数…

LDO产品的基础知识解析

低压降稳压器 (LDO)是一种用于调节较高电压输入产生的输出电压的简单方法。在大多数情况下&#xff0c;低压降稳压器都易于设计和使用。然而&#xff0c;如今的现代应用都包括各种各样的模拟和数字系统&#xff0c;而有些系统和工作条件将决定哪种LDO最适合相关电路&#xff0c…

springboot的特点是什么?

Spring Boot是一个基于Spring框架的开源项目&#xff0c;它旨在简化Spring应用的初始搭建和开发过程。以下是Spring Boot的一些主要特点&#xff1a; 快速开发&#xff1a; Spring Boot提供了许多默认配置&#xff0c;使得开发者可以更快地开始开发应用程序&#xff0c;而无需…

秋招突击——6/28、6.29——复习{数位DP——度的数量}——新作{}

文章目录 引言复习数位DP——度的数量个人实现参考实现 总结 引言 头一次产生了那么强烈的动摇&#xff0c;对于未来没有任何的感觉的&#xff0c;不知道将会往哪里走&#xff0c;不知道怎么办。可能还是因为实习吧&#xff0c;再加上最近复习也没有什么进展&#xff0c;并不知…

如何借助 LLM 设计和实现任务型对话 Agent

1 引言 在人工智能的快速发展中&#xff0c;任务型对话 Agent 正成为提升用户体验和工作效率的关键技术。这类系统通过自然语言交互&#xff0c;专注于高效执行特定任务&#xff0c;如预订酒店或查询天气。尽管市场上的开源框架如 Rasa 和 Microsoft Bot Framework 在对话理解…

揭秘多年免费听音乐、直播、影视的自用方案:手机、电视、电脑多平台0成本实现媒体自由(内含相关资源)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 多媒体自由 📒🎧 音乐资源📱安卓平台🍎 苹果平台💻 PC平台🎥 影视资源📱 安卓平台🍎 苹果平台📺 电视盒子💻 PC平台📥 电影下载📺 直播资源📱 手机平台💻 PC平台📺 电视盒子⚓️ 相关链接 ⚓️�…

ISS检测原理

ISS(Intrinsic Shape Signatures)是由Yu Zhong于2009年提出的一种三维形状描述子,用于描述局部或半局部区域的点云,局部区域可以理解为以一个点云中某点为球心,以一定半径构成的可以包含多个内点的球形区域,半局部则是半个球形区域。ISS可用于不同视角点云的配准、快速姿…

Nuxt3 的生命周期和钩子函数(六)

title: Nuxt3 的生命周期和钩子函数&#xff08;六&#xff09; date: 2024/6/30 updated: 2024/6/30 author: cmdragon excerpt: 摘要&#xff1a;本文深入解析了Nuxt3框架中的多个核心生命周期钩子和组件注册功能&#xff0c;包括imports:sources、imports:extend、import…

刷代码随想录有感(121):贪心算法——买卖股票的最佳时机III

题干&#xff1a; 代码&#xff1a; class Solution { public:int maxProfit(vector<int>& prices) {if (prices.size() < 2) return 0;int buy1 prices[0];int buy2 prices[0];int sell1 0, sell2 0;for (int i 1; i < prices.size(); i) {buy1 min(bu…

dsp入门

安装环境 安装 ccs5.5安装 BIOS-MCSDK 多核软件开发包安装 仿真器驱动 工程创建与导入工程 创建工程 创建工程填信息添加.cmd文件&#xff0c;配置内存编译 导入工程 导入 配置工程 选择properties 环境变量 头文件 库文件 仿真器 添加仿真器 先调出仿真器界面创建仿…

rtthread stm32h743的使用(十二)spi设备fal驱动的使用

我们要在rtthread studio 开发环境中建立stm32h743xih6芯片的工程。我们使用一块stm32h743及fpga的核心板完成相关实验&#xff0c;核心板如图&#xff1a; fal驱动的使用是建立在sfud驱动之上的&#xff0c;所以我们在上一节使用的工程基础上继续实验。 1.在上一节工程的基础…

SpringCloud Alibaba Seata2.0基础入门与安装

官网地址&#xff1a;https://seata.apache.org/zh-cn/ GitHub下载地址&#xff1a;https://github.com/apache/incubator-seata/releases 本文这里下载的是seata2.0.0版本。 【1】概述 ① Seata是什么 Simple Extensible Autonomous Transaction Architecture&#xff0c…

vue3 全局引入 onMounted, reactive, ref 的插件全局引入

webpack 的引入 npm install -D unplugin-auto-import const AutoImport require(unplugin-auto-import/webpack).default;configureWebpack: {devtool: source-map,module: {rules: [{test: /\.mjs$/,include: /node_modules/,type: javascript/auto}],}, plugins: [Aut…

Java对象创建过程

在日常开发中&#xff0c;我们常常需要创建对象&#xff0c;那么通过new关键字创建对象的执行中涉及到哪些流程呢&#xff1f;本文主要围绕这个问题来展开。 类的加载 创建对象时我们常常使用new关键字。如下 ObjectA o new ObjectA();对虚拟机来讲首先需要判断ObjectA类的…

# Sharding-JDBC从入门到精通(4)- Sharding-JDBC 入门程序几种配置方式

Sharding-JDBC从入门到精通&#xff08;4&#xff09;- Sharding-JDBC 入门程序几种配置方式 一、Sharding-JDBC 入门程序&#xff08;水平分表&#xff09;-使用 application.yml 配置文件的 方式 1、打开 idea 创建 artifactId 名为 dbsharding 的 maven 父工程。 --> i…

python sklearn机械学习模型-回归

&#x1f308;所属专栏&#xff1a;【机械学习】✨作者主页&#xff1a; Mr.Zwq✔️个人简介&#xff1a;一个正在努力学技术的Python领域创作者&#xff0c;擅长爬虫&#xff0c;逆向&#xff0c;全栈方向&#xff0c;专注基础和实战分享&#xff0c;欢迎咨询&#xff01; 您…