AI prompts
base on Simple x86/x64 Assembler/Disassembler/Emulator # Quick Assembler
## Simple (experimental) x86/x86 assembler and emulator.
Quick Assembler is built with [wxWidgets](https://www.wxwidgets.org/downloads/). This is my first attempt at using wxWidgets for something real. I have created a private build of wxWidgets that supports static linking of wxWidgets with CRT static linking. If you build it, you may need to change project properties to use dynamic linking with the CRT, as I have not published my tweaks of wxWidgets build.
Here is a list of currently supported features:
* Editing, opening, and saving ASM files, including undo/redo.
* Assemble files with NASM or Keystone engine. For NASM, place `nasm.exe` in the output directory. NASM can be downloaded from its [official site](https://nasm.us/).
* Execute the assembled code (uses [Unicorn Engine](https://www.unicorn-engine.org/) emulator).
* Set breakpoints in the disassembled code.
* Change register values and memory.
* View registers and memory.
## Building
My build setup uses [Vcpkg](https://vcpkg.io/en/) where possible. [Capstone Engine](https://www.capstone-engine.org/), Keystone, and Unicorn Engine are included using Vcpkg:
```cmd
vcpkg install unicorn:x64-windows
vcpkg install unicorn:x64-windows-static
vcpkg install capstone[x86]-windows
vcpkg install capstone[x86]-windows-static
vcpkg install keystone:x64-windows
vcpkg install keystone:x64-windows-static
```
The wxWidgets installation folder must be set with an environment variable named `WXWIN`. You can get the files by cloning the [wxWidgets repo](https://github.com/wxWidgets/wxWidgets).
## Screenshots
![image](https://github.com/zodiacon/QuickAsm/assets/4227784/b417f6fa-24cd-42ff-8f10-3469c71a4b09)
", Assign "at most 3 tags" to the expected json: {"id":"7287","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"